Skip to main content

Full text of "68 Micro Journal Volume 07 Number 05"

See other formats


AtewZwiftrntf NZ 5 fi5t? 



Malay** M $$45 



Hong Kong 






$2.95usa 



.M 



Motorola Microprocessors: 

Hpple macintosh 1 " BBOOO 
GinilX ™ .SSB ™ .SWTPC™ BB09 
Tandg CoCo m BB09 

Rduanced Operating Systems: 

0S-9 ,M .UniFLEX" 1 .FLEX ,M 
STHH-DOS ,M .mac-DOS 

Programming Languages: 

C, Hssembler. K-BHSIC 
Compilers. Dissasemblers 



VOLUME VII ISSUE V • Devoted to the 68XX User • May 1985 



this Month: 

Ada Programming Language 
CoCo Using FLEX/STHR-DOS 
05-9. C User Applications 



VlJSL-: 



'.«. 



i^vSai 



> Ti^l 



V 



■m * i; 



lf 7U7Q ll 1Z810" 



05 



WE DON'T PLAY GAMES 






X-12* 



A SERIOUS COMPUTER 
IN A DESKTOP PACKAGE 



Multiprocessor Technology - Combination of 8,16 and 32 bit types 
1.0 Megabyte Memory - Insures no limitation on programs 
"Winchester" Disk System - Fast response, large storage capacity 
UniFlex Operating System -The standard of comparison 
Hardware Floating Point - Unmatched speed in a small system 
Up to Three Terminals - Instant expansion 



■ Trademark of fechnkaj Systems Consultants 




SOUTHWEST TECHNICAL PRODUCTS CORPORATION 

219 W. RHAPSODY 

SAN ANTONIO, TEXAS 78216 (512) 3440241 



I 



Only Microware's OS-9 

Operating System Covers 

the Entire 68000 Spectrum 





1 


MICROWARE'S OS-9 














UNIX 






ROM-BASED 
CONTROL 
SYSIEMS 

HAND 
COMP 

SMALL SYSl 


1 

FLDPPY-OISK BASED 

PERSONAL 

COMPUTERS 

-HELD HARDWARE 
UTERS DEVEL0FME1 

EMS 


i 

SOFTw 




RGE SYSTEMS 





Is complicated software and expensive hardware 
keeping you back from Unix? Cook inlo OS-9, the 
operating system from Micmwaie that rives 68000 systems 
a Unix-style environment with much less overhead and 
complexity. 

OS-9 is versatile inexpensive, and delivers outstanding 
performance on any size system. The OS-9 executive is 
much smaller and rar more ef- 
ficient than Unix because it's 
written in rast, compact as 
sembly language, making it 
ideal for critical real-time ap- 
plications. OS-9 ca;i run on 
a bfoad range of 8 to 2>1 hi 
systems based on I he 08000 
or 6809 family MPUs trom 
ROM -based industrial con 
trollers up to large multiuser 
systems 

OS-9 'S OUTSTANDING 

C COMPILER IS 
YOUR BRIDGE TO UNIX 
Miouwaies C compiler tech- 
nology is another OS Q advantage. The compiler prtiduces 
extremely fast, compact and ROMable code You can easily 
develop and port system or application software back and 
forth to standard Unix systems. Cross-compiler versions imr 



Key OS-9 Features At A Glance 

Compact (16K) ROMable executive written in assembly 

language 

User "shell" and complete utility set written in C 

C-source code level compatibility with Unix 

Full Multitasking/multiuser capabilities 

Modular design - extremely easy to adapt, modify, or 

expand 

Unit type tree structured file system 

Rugged "crash-proof" file structure with record locking 

Works well with floppy disk or ROM-based systems 

Uses hardware or software memory management 

High performance C. Pascal, Basic and Cofaol compilers 



VAX and PDP- 1 1 make coordinated Unix OS -9 software 

development a pleasure 

SUPPORT FOR MODULAR SOFTWARE 
- AN OS-9 EXCLUSIVE 
Comprehensive support for modular software puts OS °> 

a generation ahead or other opera ting systems. It multiplies 

programmer productivity and memory el ticieney. Applica- 
tion software can be buill 
from individually testable 
software modules including 
standaid library" modules. 
The modular structure lets 
you customize and recon- 
figure OS-9 for specific hard- 
ware easily and quickly 

A SYSTEM WITH 

A PROVEN 
TRACK RECORD 
Once an underground 
classic, OS-9 is now a solid 
hit Since 1980 OS-9 has 
been ported to over a hun 
dred 6&0O and 68000 
systems under license to some ot the biggest names in the 
business. OS-9 has been imbedded in numerous consumer, 
industrial and OEM products and is supported by many 
independent software suppliers. 



OS-9 



MICROWARE SYSTEMS CORPORATION 

1866 NW 114th Street 
Des Moines Iowa 50322 
Phone 515-224-1929 
Telex 910520-2535 



Micro ware Japan, Ltd 
3-8-9 Baraki I chikawa City 
Chlba 272-01, Japan 
Phone 0473(2&4493 
Telex 299-3122 



'6B r Micro Journal 



.uWfTUiti *►» Ma rMU.WC <»l%*l MlHixnla Unl* tt A luttlrm-rtfL nt tMl L&U 













Portions of the text for ^B* Micro Journal were 
prepared using the following furnished Hard/Software: 

OMVTCRS - tvVSMART 

Southwest lechfncal Products 
219 w. Rhapsody 

San Antonio, TX 7B216 ^ 

S09 - 5/8 dMF Disk - COS! - B2I2W 



Sprint 3 Printer 



GIMIX Inc. 

1337 West 37th Race 
60609 

- 0S9 - FLEX 



Chicago, IL 
Supar Molnfre 



Assorted Hardware 



EDITtIRS - «BD PROCESSORS 

Technical 9ystems Consultants, Inc. 

111 R-ovfdence Road 

Chapel Hill, NC 27514 

FLEX - Editor - Text Processor 

Great Rains Computer Co., Inc. 

PO Box 916 

Idaho falls, 10 83401 

S ylograph - Half Harge - Sped 

Editorial Staff 

Don Wll Mams Sr . Publ Isher 

Larry E- Williams Executive Ed 1 tor 

Tom E. Williams Production Ed I tear 

obert L* May Technical Editor 

Aa*l a f atratf ve Staff 
Mary Robertson Office Manager 

Penny WM I lams Subscriptions 

Christine tocher Accounting 

attributing Editors 
Ron Anderson Norm Comma 

Peter Dibble William E. fisher 

Dr. Tneo Elbert Carl Mann 

Dr. E. M. Pass ton Volgts 

Philip Lucfdo 

Spec lei Technical FVoJects 
Clay Abrants K6AEP 
Tom Hunt 

CONTENTS 

Vol. VII, Issue v 

FLEX USER Notes 7 

0S9 USER Notes 11 

C USER Notes 12 

68000 USER Notes 18 

Whimsical Revisited 20 

ADA R And The 68000 22 

Basic OS-9 26 

CoCo USER Notes 29 

Using FLEX/Star DOS 32 

The Apple Macintosh 33 

Ramblings 41 

Bit Bucket 47 

Classified Advertising 59 



May 85 

Anderson 
Dibble 
Pass 
Lucido 
Anderson 
Elbert 
Volgts 
Mann 
Brumley 
Nay 

Glennon, DMW 
Casneuf 



MICRO 



JOURNN. 



Send All Correspondence To: 



Cfcaptrha- F^lfshlng Ctortor 

66" Micro Jooraal 

9900 Cfcssendre S*lt* Rd. 

Nlxson, In. 37343 

Phone (615) 842-4600 or Telex 558 414 PVf BTM 

Oopyrlqhtwf 1909 by Computer PeWlshlng Inc* 

68' Micro Journal Is published 12 times a year by 
Computer Publishing Inc. Second Class Ffestage Paid 
ISSN 0194-5025 at Hlxson, Tn. and additional entries. 
Postmaster: send form 3597 to 68 1 Micro Journal , P0B 
849 Hlxson, Tn. 37 34 3. 

Subscription fertes 

1 Year $24.50 U.S.A., Canada 4 fexlco Add $9.50 a 
Tear. Other Foreign Add $12 a Tear for Sertmce, 
Airmail Aed 148 a Year. Must be In U.S. 



Hems or Articles For Publication 

Articles submitted for publication should Include 
authors name, address, telephone number and date. 
Articles should be on either 5 or 8 Inch disk In 
STYLOGRAPH or TSC Editor format with 3.5 Incti Cfcrfamw 
width. All disks will be returned. Articles submitted 
on peper should be 4.5 Inches In width (Including 
Source Listings) for proper reductions. Rtoeso Use A 
Dark Ribbon!! No Blue Inklfl Single space on 8X11 bond 
or better grade paper. No hand written articles 
accepted. Disks should be In FLEX2 6800 or FLEX9 
6809 any version or OS-9 any version. 

The following TSC Text Processor commands OaUY 
should be used: *sp space, +pp paragraph, *fl fill and 
-nf no fill. AJso please da not fbrmet within the text 
with meltlple spaces. We will enter the rest at time 
of editing. 

All STYLOGRAPH commands ere acceptable except ,pg 
page command. Ma print edited text files In contlnous 
text form. 

Letters To Tne Editor 

All letters to the editor should comply with the above 
requirements and mast be si gn ed. Letters of gripes" 
as well as "praise" are solicited- We reserve the 
right to reject any submission for lack of "good 
taste" and we reserve the right to define "good 
taste". 



tiling 

Commercial advertisers please contact 66* Micro Journal 
advertising department for current rete sheet and 
requirements. 

Classified Advertising 

All classified ads must be non-commercial* Minimum of 
$9.50 for first 20 words end .45 per word after 20. 
All clesslffeds must be paid In adv e nes* . *b classified 
ads accepted over the phone. 



'63' Micro Journal 



GIMIX HAS THE 6809 SYSTEM TO SUIT YOUR NEEDS 



5 HARDWARE 

o 

o All systems feature the GIMIX CLASSY CHASSIS; with a ferro-resonant constant 
g voltage power supply, gold plated bus connectors, and plenty of capacity for future 
expansion. 

Static RAM and double-density DMA floppy disk controllers are used exclusively in all 
systems. 

All systems are guaranteed for 2 MHz operation and include complete hardware and 
software documentation, necessary cables, fiiiler plates, etc. 

Systems are assembled using burned-in and tested boards, and all disk drives are 
tested and aligned by GIMIX. 

You can add additional components to any system when ordering, or expand rt in the 
future by adding RAM, I/O, etc. 

GIMIX lets you choose from a wide variety of options to customize your system to your 
needs. 



SOFTWARE 

All 0S-9/FLEX systems allow you to software select either operating system. 

Also included is the GMXBUG monitor and, in systems with 128K or more of RAM, 
GMX-VDISK for FLEX. 

All GIMIX 0S~9 systems include Microware's Editor, Assembler, Debugger, Baslc09, 
and Runb; and the 6MX versions of RMS and DO for OS-9 

All GIMIX versions of OS-9 can read and write RS color computer format OS-9 disks. 
as well as the Microware/GiMIX standard format. 

New and exclusive with OS-9 GMX III systems is the GMX OS-9 Support ROM, a 
monitor for OS-9 that includes memory diagnostics and allows the system to boot directly 
from either hard disk or floppy. 

A wide variety of languages and other software is available for use with either OS-9 or 
FLEX. 



OS-9 GMX lll/FLEX SYSTEMS (#79) 

The 179 super system now Includes (in addition to the above) the 6MX 
6809 CPU Irt, a 256K CMOS State RAM Beard (172). and a 3 -port In* 
ttdgant Sertal I/O Pracetsor (111), 

The BMX 6809 CPU III can perform high-speed OMA transfers Irom 
memory to memory and uses memory attributes and tilegai instruction trap- 
ping to protect me system and users Iron program crashes. If a user pro- 
gram crashes, only dial user Is affected; other useis are unaware of the 
problem 

The 3-Pmt Indigent Serial I/O Board (#i 1 ) stgnihcantiy reduces system 
overhead by handling routine I/O functions; freeing the host CPU for run- 
ning user programs. This improves overall system performance and allows 
user terminals to be run at up to 19.2K baud. 

with dual 40 track OSDO drives S5998.79 

with dual 80 track DSOO drives .„.. $6198.79 

with 188 dual 8" OSDO drive system $7698.79 

with #90 19MB Winchester subsystemand one 80 track $8898.79 

with a A 7 M B Winchesle r subsystem and one 80 track $1 0, 898. 79 
with a 47MB plus a 6MB removal* pack Winchester 

subsystem and one 80 IracXdiive $12,398.79 



TO 0*001 BY HAIL SEND CHECK OR MONEY OflOCR Of) USE VOUA VlSA OR 
MASTER CHARGE. Rease allow 3 *tefcs for parson* cftectt lo dear U S onto* add 
$5 handling « order t$ under $200 00 Fwrtgo orders add $10 handing If order fcs 
under X200 00, FO/rfon orders ow S200.00 «N be shtoed via Emery Air Fraighri 
COLLECT, and we w* cftarp no hauftng AJ orders must be prepaid m US fends 
nease ncto mat foreign ctacte rvave beer taking atocfl a w«ta for coftecJon so we 
would advise wing money, or rtecto drawn on a oar* accou* in tie U S Our oar* 
* m« (Mr«f& Knots lUflarai BankcrfCtagD. 23i S laS* Street. Cteago H. 
60693. aaawl §73-32033 

BAStC-09 and OS-9 are ffM^rurks or Micrware Systems Corp. and U0T0R01 A, inc. 
FLEX and umREX are vademarts of Tecrwtal Systems Consu&ms. inc 
GIMIX. GHOST. GMX. CUSSY CHASSIS, are Tnrtsrarts ot GiMIX, *nc 



OS-9 GMX 1 / FLEX SYSTEMS #49 

The 149 systems encode 64KB static RAM, 805 CPU. #43 2 port serial 
board 

withduaMOtiack OSDO drives $3998.49 

with dual 80 track OSDO diives S419849 

with 888 dual 8" 0S00 drive system $5898. 49 

with ISO f 9MB Winctwsler subsystem and one 80 track S6898.49 

OS-9 GMX II / FLEX SYSTEMS #39 

The 139 systems include 128KB static RAM. #05 CPU. #43 2 pat serial 
board 

with dual 40 tiack OSDO drives S4498.39 

with dual 80 track OSDO drives S459839 

wfm#88dua)8' k 0S00dnve system $6198.39 

with 890 19MB Winchester subsystem and one 80 track . . . $7398.39 

GIMIX DOES NOT GUARANTEE PERFORMANCE OF ANY GlMIX SYSTEMS, 
BOARDS OR SOFTWARE WHEN USED WITH OTHER MANUFACTURERS 
PRODUCT. 

EXPORT MODELS: ADD $30 FOR SOHi. POWER SUPfUES. 

GIMIX, Inc. reserves the right to change pitting, terms, and products 
specifications al any time without further notice. 

ALL PRICES ARE f.O B CHICAGO 

Contact GIMIX lor price and avartabirty of UniFLEX and UrtfLEX GMXIII 
Systems, 

NOTE on all drive systems: Dual 40 track drives have about 700KB of for- 
matted capacity; dual 80s about 1.400KB; dual 8" about 2.000KB. The 
formatted capacity of ftard disks is about 80% ol the total capacity. 



Want to expand your system to a 
megabyte of Static RAM and 15 users? 

Simply add additional memory and I/O boards Your GIMIX system can 
giow with your needs Contact us for a complete list of available boards and 
options 

172 256KB CMOS STATIC RAM board 

with battery back up :,,...... $1898.72 

184 64KB CMOS STATIC RAM board 

with battery back up ., _.,. $528.64 

•67 64KB STATIC RAM board , $478.67 

#11 3 port intelligent serial 1/0 board $498.11 

143 2 poit serial I/O board S128.43 

#42 2 poit parallel I/O board S88.42 

#95 cabte sets ( t needed per poit). specify board . . . . $24.95 



NOW SHIPPING ! 

UniFLEX 
GMX III Systems 



Gimix 



1337 WEST 37th PLACE 
CHICAGO, ILLINOIS 60609 
(312)927 5510 • TWX 910-221-4055 

- 19W GtWn ftC 4*4 




Get 
the 
most 

out 

of 

BASI 



The OFFICIAL BASIC09 TOUR 
GUIDE is skillfully written in a friend- 
ly and easy-to-read style. Just 
perfect for those new to computers 
and to 6ASIC09. Its also a valuable 
reference book for programmers, 
engineers, students and hobbyists, 
providing an in-depth look at 
BASIC09 plus an overview of the 
OS-9 operating system. Compre- 
hensive reference sections on 
BASIC09 and OS-9 commands are 
also included. 

The book "maps" out your route 
through the Mercedes of Basics . . . 
BASIC09 and puts you in the driv- 
er's seat in no time. Fasten your 
seatbelt, sit back and enjoy the ride 
to perfecting your programming 
skills. 




MICROWARE . . . 

The OFFICIAL BASIC09 TOUR 
GUIDE comes from the people who 
wrote BASIC09. As the leader in 
6809 system software, we at 
MICRO WARE care about our users 
and want to help you get the most 
from our products. 

It's Easy to Order. 

Phone orders are accepted from 
MasterCard or VISA cardholders or 
for COD shipment. You can also 
order by mail using the coupon 
below. Quantity discounts are 
available to educational organiza- 
tions and dealers. For further infor- 
mation contact Microware. 



Speotdints w sytlem sofluntrt for bS-fumily mkroprocesscn shut 1 47 7. 
OS 9 and BASIC09 are trademarks of Mcroware and Motorola 



Microware Systems Corporation 
J866 NW IHth Screet 
Des Moines, Iowa 50322 
Telephone 515/224-1929 
Tefex 910 520-2535 



_ copies of the 



Please send 

Buic09 Tour Guide book at $18 95 
each Add $2 . 00 for UPS shipping in 
the U S or $5.00 for overseas atr mail 
per book Iowa residents add 4% 
sales tax. 

Name 



Address 

Crty 



Z.p 



Stale 

Q 1 have enclosed a check 
Q Charge to my bank card: 

MasterCard D VISA D 

Card Number 

Expiration 



68' Micro .Journal 





FLEX ™ USER NOTES 

THE 6800-6809 BOOK 

By: Ronald W. Anderson 

As published in 68 MICRO JOURNAL" 

The publishers of 68 MICRO JOURNAL are proud to announce the publication of Ron Andersons FLEX USER NOTES, in 
book form. This popular monthly column has been a regular feature in 68 M ICRO JOURNAL SINCE 1 979. It has earned the 
respect of thousands of 68 MICRO JOURNAL readers over the years. In fact, Rons column has been described as the 
Bible' for 68XX users, by some of the worlds leading microprocessor professionals. Now all his columns are being 
published, in whole, as the most needed and popular 68XX book available. Over the years Rons column has been one of 
the most popular in 68 MICRO JOURNAL. And of course 68 MICRO JOURNAL is the most popular 68XX magazine 
published. 

As a SPECIAL BONUS all the source listing in the book will be available on disk for the low price of: FLEX "■ format only — 5" 
$1 2.95 — 8" $1 6.95 plus $2.50 shipping and handling, if ordered with the book If ordered separately the price of the disks 
will be: 5" $17.95 — 8" $19.95 plus $2.50 shipping and handling. 

Listed below are a few of the TEXT files included in the book and on diskette. 

All TEXT files in the book are on the disks. 



LOGO.C1 

MEMOVE.C1 

DUMP.C1 

SUBTESTS 1 

TERMEMC2 

M.C2 

PRINT.C3 

MODEM.C2 

SCIPKG.C1 

U.C4 

PRINT.C4 

SET.C5 

SETBAS1.C5 



File load program to offset memoiy — ASM PIC 
Memory move program — ASM PIC 
Printer dump program — uses LOGO — ASM PIC 
Simulation of 6800 code to 6809, show differences — ASM 
Modem input to disk (or other port input to disk) — ASM 
Output a file to modem (or another port) — ASM 
Parallel (enhanced) printer driver — ASM 
TTL output to CRT and modem (or other port) — ASM 
Scientific math routines — PASCAL 
Mini- monitor, disk resident, many useful functions — ASM 
Parallel printer driver, without PFLAG — ASM 
Set printer modes — ASM 
Set printer modes — A-BASlC 
(And many more) 



"Over 30 TEXT files included in ASM (assembler) — PASCAL — PIC (position independent code) TSC BASIC-C, etc. 

NOTE: .CI, C2> etc. Chapter 1, Chapter 2, etc. 

This will be a limited run and we cannot guarantee that supplies will last long. Order npw^or early delivery. 

Foreign Orders Add $4.50 S/H 
Softcover — Large Format 

Book only: $7.95 + $2.50 S/H] 

With disk: 5" $20.90 + $2.50 S/H | 

With disk: 8" $22.90 + $2.50 S/H 








See your local S50 deafer 'bookstore or order direct from: 

Computer Publishing Inc. 

5900 Cassandra Smith Rd. 

Hixson, TN 37343 

TELEX 551 414 PVT BTH (615) 842-4601 







'68' Micro Journal 



'FLEX i$ a trademark of Technical Systems Consultants 



SOFTWARE DEVELOPERS! 

YOU'VE JUST BEEN GIVEN THE BEST REASON YET 
TO GET OUR 68000/UNIX® DEVELOPMENT SYSTEM 



THE VAR/68K® SERIES 




VK-5XW20 (List price SOOrKJlTJ $5,000. 

Includes: Terminal. 20 Mb hard disk. 
512K RAM. 8 ports and KEGULUS® 



VK-5XW20T20 (List price iU*9«T.) $6,500. 
Includes: all of above, plus 20 Mb 
tape streamer 



RESELLERS! 



Even more attractive specials are available to qualified resellers! 

Smoke Signal has been designing, developing and manufacturing 
microcomputers based on the Motorola family of processors for 
the past six years. The VAR/68K is the most recenl addition to our 
family of multi-user computers. 



VAR/68K is a registered trademark of Smoke Signal 
REGULUS is a registered trademark oJ'Alryon Corp* 
UNIX is a registered trademark of Bell Laboratories 



Due to the extremely low prices being 
offered, we can only accept cash or CO. D. 
ordeis. and we must limit purchases to 
one per customer. This is a limited time 
offer. 



TO OBTAIN YOUR VAR/6SK 
AT THESE LOW PRICES, CONTACT: 




SMOKE SIGNAL 



31336 VIACOLINAS 

WESTLAK& VILLAGE. CA 91362 

(818) 889-9340 / Telex 910-494-4965 



66 Micro Journal 



Flex User Notes 

Ronald W« Anderson 
3540 SturbHdge Court 
Ann Arbor, HI 46105 

A Short Diversion 

I'm going to devote a considerable part 
of this month's column to a discussion that 
might seem a bit irrelevant to the title of 
the column. You might consider this to be 
a short assessment of where we FLEX, 6809, 
SS-50 bus users stand with relation to the 
"other guys". The discussion is by no means 
complete. My conclusion is that there are 
still no newer computer systems that are 
appreciably better at doing the things that 
our systems can do, and in fact, many are 
not as good. However, our systems have 
definite limitations particularly in the area 
of screen graphics, an area in which more 
and more programs are being written, 
particularly in the area of education and 
computer aided design. 

Comparison 

As I reported last month, the company 
recently bought a Radio Shack model 1200 
with a 10 MByte hard disk. The 1200 is an 
IBM "clone", and it was a best buy for an 
IBM compatible system locally. We bought it 
to run software from a company called 
Wintek. If you have been in the area of 
applications of 68XX microcomputers for a 
while, you have most likely heard of them. 
They have been selling 6800 hardware for a 
long time for industrial applications. 
(Coincidentally, I just today saw an ad for a 
6809 processor board from them.) At any 
rate Wintek has been advertising a software 
package to run under MS-DOS for printed 
circuit board design. The package allows a 
user to prepare a PC (printed circuit) board 
layout on his PC (personal computer), by 
allowing him to place "pads" on a grid (0.05 
inch) and then assisting in the routing of 
conductors on the board showing him both 
sides of the board in contrasting colors 
with the points where there is foil on both 
sides in the third color. The software 
finds routes for wires on the board or it 
will let the user route the traces (or 
improve on routes selected by the software). 
Incidentally, I think I referred to MS-DOS 
last month as MOOS, which of course, was 
Motorola's operating system for their 
Exorciser development system. Pardon the 
Freudian slip. 

The system arrived this week, and it came 
up running. The Wintek software is Super. 



It was extremely easy to learn, and is not 
overwhelmingly "smart". After the board 
layout is done, the data in the computer is 
used to plot artwork for the board. We 
have an Epson MX-100 which is usable for 
"prototype quality" boards, and we 
immediately redesigned one of our previous 
boards to try it out. The board took three 
or four days to do originally, and it took 
about 6 hours to do it with the computer 
and the Wintek software. The software, 
called smARTWORK also drives a Houston pen 
plotter to produce superior artwork. I 
have already turned in a requisition for the 
plotter for future use. Meanwhile we will 
get designs done for some less critical 
boards and get the prototypes debugged. 

Now to the point of mentioning all this 
(at least one of the points). After a 
couple days with two of us eagerly awaiting 
our turns at the computer to try out the 
software, we decided to check out the 
Microsoft BASIC that was purchased with the 
computer. The results were as expected, 
and a boost to our conviction that we 6809 
FLEX users have good things at our 
disposal. I wrote a quick 25 line program 
to generate 1000 random integers between 
and 999, and perform a bubble sort on them. 
We programmed both systems with as close to 
the identical program as we could. The only 
differences were in the use of the RANDOMIZE 
function in the TRS, the argument for RND(), 
and the call to the utility to print the 
clock time at the start and end of the 
execution of the program. The result: 
6809 TSC Extended BASIC running on a 2 MHZ 
processor, 35.5 minutes. Model 1200 running 
Microsoft BASIC, 90.5 minutes! TSC Extended 
BASIC on the "OLD" '09 ran better than 2.5 
times faster than the very new model 1200. 
The Microsoft BASIC is a full featured one. 
(The .EXE file is 66K bytes!) 

As we all know, the TSC Extended BASIC is 
about 17K bytes. It would seem that 
progress must be defined as going to 
something more complex that is not as good 
(at least in terms of speed)! About here 
you will ask "Why did you buy the IBM clone 
then?" The answer to that one gets to the 
real heart of the question. I'll answer it 
by asking another question. Does anyone 
out there know of an interactive Printed 
Circuit board layout program that will 
generate 2X artwork on an Epson MX-100 or a 
pen plotter, and that runs on a 6809 system 
under FLEX? The Wintek folks can see the 
handwriting on the wall.. They have been 



68' Micro ^toumal 



suppliers of 68XX products for a long while. 
They wrote this software to run on an IBM 
because everyone is buying IBM's because 
there's lots of software available for IBMs.. 
and so on in a vicious circle forever. 

I'll probably use a 6809 based 
development system as long as 6809s are 
made, . . The processor is entirely adequate 
for many applications, and will not be made 
obsolete by 16 bit processors for a large 
class of applications in the foreseeable 
future. I'll probably not in my lifetime 
replace a 6809 system I have at home for 
word processing applications and as support 
for my work and consulting efforts. 
However, as I want to use application 
programs that are only available for MS-DOS 
or one of the -NIX variations, I'll have 
absolutely no choice but to switch to one of 
those systems for those applications. Until 
now, I've been content with BASIC to solve my 
engineering problems. Now, however, the new 
computers can handle something our 68XX 
(SS-50 version anyway) was not set up to do. 
Of course I am talking about GRAPHICS. To 
be effective, software for applications such 
as Printed Circuit board layout or CAD 
applications must deal with graphics, not 
only at the hard copy level (printers and 
plotters) but at the terminal or user 
interface. Try specifying a small printed 
circuit board layout or something as simple 
as a standard carriage bolt in words and 
you will soon understand what I am getting 
at. 

Don't get me all wrong, our 68XX systems 
will do nice printer graphics, limited only 
by the printer's dot graphics capabilities 
(e.g. the turtle graphics software published 
in '68' Micro Journal several issues back), 
but there is little or no graphics 
capability (or multicolor display capability) 
at the user interface end of the system. I 
realize that there is at least one color 
graphics board available for the 68XX but 
there are not enough 68XX users, let alone 
68XX users with that graphics board, to 
make it economically feasible to market 
anything as complex as the sort of software 
I've mentioned here. Incidentally the PC 
board software requires 192K of RAM to run. 

Since writing the above, the plotter has 
arrived. We had no luck trying to interface 
it to the Tandy 1200 for a solid week. It 
seems that all handshake signals are not 
only ignored by the Tandy but cause it to 
hang up Immediately and permanently. After 



a few days of frustration, I found that I 
could output a "plot 11 file to the hard disk 
and then through a program in BASIC, output 
it to the plotter with Xon Xoff protocol via 
a nice feature of the BASIC. We have used 
that mode to plot artwork for several 
circuit boards. After a full week of fooling 
around, Tandy called us and told us that 
Microsoft has a problem with their operating 
system with regard to the serial port, and 
that they would get us a copy of the 
corrected version to try within a few days. 
Since we are able to use the system "as is" 
the pressure for a permanent solution is 
off. The whole problem has, however brought 
about some thought on my part about the 
situation. The Tandy system comes without 
any hardware documentation (schematics) and 
no software documentation. I suppose Tandy 
would say that it is a "plug it in and run" 
system that therefore doesn't require 
documentation. 

Somewhere during the week, I had 
thoughts of a BASIC program to write 16,000 
characters out to my SS-50 bus system and 
wait for a "send more" command. We could 
then use the SS-50 system to talk to the 
plotter, and honor all handshakes properly. 
Seems to be overkill to use a SS50 computer 
as a large buffer between the Tandy and the 
plotter, but I could have made it work with 
a half a day or so of programming. The more 
permanent solution from Tandy is the better 
way. I guess, given the choice between 
supposedly completely debugged software and 
complete documentation, I'd prefer the 
documentation. That way, my hands wouldn't 
be totally tied if things don't work "as 
advertised" on the first try. Certainly the 
availability of better documentation would 
have saved my employer from paying for about 
two man weeks of struggle in getting the 
software up and running properly. 

Flying Lessons 

I recently found a good buy on a used 
Atari 800 with one disk drive. My second 
trip to the local bookstore afterward, 
revealed that I could buy Atari software 
there (Walden Books). I am so used to 
buying 68XX software by mail order that the 
thought had never crossed my mind. At any 
rate, I found a good program to teach typing 
on the Atari and bought it for my son. At 
Christmas, I went back to the same store 
and found a Flight Simulator program. 
(Sorry but here we go on graphics again). 
If you read BYTE, you have seen the pictures 



69' Micro Journal 



of the screen of this one or one similar. I 
am not a pilot, but I have flown in small 
airplanes with others for a long time, and I 
am familiar with the controls and 
instruments, and more particularly the radio 
navigation systems. The simulator comes 
with an aerial chart of the Chicago area 
down as far as Champaign Illinois. Now 
since I grew up in Chicago and lived in 
Champaign for 11 years, I was quite familiar 
with the route between these two points, 
Meigs field in Chicago, and Willard Airport 
in Champaign. My first efforts were to take 
off from Meigs, turn on the Nav. radios, and 
follow the Omni signals to Peotone Illinois 
and then to Champaign. That route takes 
one right down Interstate 57, which is 
visible during the simulated flight. The 
cities appear in outline form as does the 
Kankakee River as it is approached. All 
airports appear with white runways, running 
in the proper directions as indicated on the 
air chart. About all they left out is the 
most visible landmark in Champaign, the 
University of Illinois Assembly hall which 
closely resembles a giant flying saucer. 

At an airspeed of 130 knots, it is about 
a 60 minute flight, and I was impressed with 
the passing cornfields south of Kankakee and 
right on down to Champaign. I managed to 
crash trying to land at Willard. I'm going 
to have to get a pilot friend to come over 
and give us some flying lessons. The 
instruments appear on the lower part of the 
color TV monitor, and needles move just as 
they do in a "live" situation. The nav. 
radio needle pegs realistically and 
overshoots as you change the heading too 
rapidly in an effort to center the needle. 
The DME equipment indicates distance to the 
Omni transmitter. Radios only function when 
within range of a station, I had the same 
trouble stabilizing the attitude of the 
simulator (oscillating between climbing and 
diving) as I do handling a "live" version. 
The program contains additional area data 
for the New York City to Boston area, the 
Los Angeles area, and the Seattle area. 

Needless to say, I'm impressed, again with 
graphics and color displays. The market for 
this software in its several versions to run 
on Atari, Apple, and Commodore computers is 
so large that the price was only $39,951 
Don't hold your breath for a version to run 
on the SS-50 bus with a color graphics 
board... (After writing this today, I saw a 
demonstration of the program on a television 
show about computers, and then saw it 



running at the local computer store on an 
Apple). 

Frustrations of a Dumb Programmer 

When you are a software writer, you can 
blame the dumb users for the problems, and 
when you are a user you can point at the 
stupid programmer for them. I am in the 
position of being both, sol have only myself 
to blame. Yes, it is time for my annual 
stint at printing out church contribution 
records for some 300 contributors. This is 
my third year at the job, and my software 
(in TSC Extended BASIC) is getting smarter 
each year. The biggest problem is positive 
identification of the contributor, and that 
problem can't be overcome by a smarter 
program. For example, some folks use a 
nickname or a second name in their day-to- 
day communications with others, but their 
personal checks have their "real" name on 
them. I may know someone as Ralph Smith, 
but his check might have his name as John 
R. Smith. It might take me a long time to 
make the association. 

I prepare these records as though 
couples are filing Joint returns. If half of 
the time the contribution is recorded as 
coming from Roy Jones, and the other half as 
coming from Susan Jones, and I happen to 
know that the two are married, there is no 
problem. If they are new, after a month or 
two I might begin to suspect that they are 
one household and that I should merge the 
two records. 

Then there is the mobility problem. 
People's addresses change rapidly. To abate 
that problem a little, I've separated the 
weekly contribution entry software from the 
"edit the address" software. 

Next problem is multiple contributions by 
the same person, I've made it possible to 
correct previous entries if I run across a 
second that is identifiable as being from 
the same contributor as the first. That is 
fine if there are two serial numbered 
envelopes in the collection with the same 
number, but if there is a check identifiable 
by name and an envelope identifiable by 
number, my update file building program can't 
correlate the two, and my program that 
posts the week's transactions to the main 
data file will post the first of the two 
contributions to that person's record and 
start a new record for the second. 

As I mentioned above, each year I get 
smarter and make the program a little more 



'68' Micro Journal 



9 



usable, but I still have to resort to 
dumping the whole data file and looking 
carefully for redundant records before I can 
actually print out the year's statements. 
One particularly obnoxious problem that I've 
had this year is that of familiarity with the 
data entry program. I get going fast and 
don't look at the prompts on the screen and 
type a name in a field where a number is 
expected. I haven't trapped the error 
properly and the program ceases execution 
with an error message and closes my data 
file without having written any of the data 
that is stored in memory, so I have to start 
over again. Of course some simple testing 
of ERl (error line number) in my error 
handling routine would solve that problem. 
That is n\y next project. My point is simply 
that handling "real world" data is not 
necessarily anything like the textbook 
examples. Making a set of programs to 
create, update, and maintain a database 
file, and to print out a report from the 
data in that file, is not a simple 
straightforward project. 

K-BASIC 
I have further word from Frank Hoffman at 
Lloyd I/O that K-BASIC is now fully capable 
of handling all the features of TSC Extended 
BASIC. The last to be adc)ed were Random 
Files, and PRINT USING. Frank tells me that 
he has removed a previous restriction of the 
compiler that prohibited the use of spaces 
in a mathematical expression. I believe K- 
BASIC is now fully compatible with TSC 
Extended BASIC, and the combination should 
be quite a pleasure to use. Currently, 
Frank has a BCD floating point math package 
running. It is possible to specify the 
number of digits of precision desired in a 
program. Frank also plans to have a Binary 
floating point package for those who want to 
do scientific calculations rather than 
financial ones, where a 9 digit binary math 
will offer a large speed advantage over a 15 
digit BCD package. I mentioned that last 
month but now there is an additional 
possibility. The binary package may also be 
supplied in such a form that the user can 
specify the precision of the math at compile 
time, though that is not sure at the time of 
this writing. 

I have received the latest version of K- 
BASIC since writing the above. I've compiled 
several TSC BASIC programs with minimal 
modifications, and found them to work fine. 
I've talked to Frank Hoffman and discussed 
the minor syntax differences with him. He 



tells me that he will change K-BASIC to be 
compatible wherever there is a known 
difference. The latest version, as I 
mentioned above, has random files and "print 
using" implemented. K-BASIC is now so close 
to TSC Extended BASIC as to make conversion 
trivial, and I would guess that all 
differences will eventually be resolved so 
that any TSC BASIC program will compile 
without change, in K-BASIC. 

Since writing the above on K-BASIC, the 
new package has arrived and I have 
successfully compiled a number of TSC 
Extended BASIC programs and reported two or 
three minor syntax differences to Frank 
Hoffman. I found that K-BASIC would accept 
ON ERROR GOTO <line number> but not ONERROR 
run together as one word. TSC will accept 
either and I had used both forms in various 
places in try programs. Changing the single 
word to two made the compiler accept them. 
I then found that EXEC, "FILENAME" worked in 
TSC BASIC, but only EXEC "FILENAME" (space 
and not comma) would work in K-BASIC. 
Space does not work in Extended BASIC. I 
had one problem with multiple statements on 
a line, but Frank told me that the problem 
has been corrected since he mailed my 
package. In short, there are just a few 
minor differences yet to be resolved to make 
a source listing in TSC Extended BASIC 
completely compatible with the compiler. At 
this point, the two are so close that 
conversion of fairly complex programs is 
quite easy. 

Just one more note here. John Spray, 
author of the Whimsical language for the 
6809 visited the United States early in 
January. John came to visit with me in Ann 
Arbor for a few days, and we had time to 
translate one of ny instrument programs at 
work into Whimsical. I wanted to see how it 
would do, but this is the first time that I 
have had such deluxe treatment. The author 
of the compiler came half way around the 
world to give me a personal demonstration of 
what his compiler could doi Seriously, John 
and I have been communicating for a year or 
more regarding his compiler and my 
applications. We enjoyed meeting each 
other. Mail communications between here 
and New Zealand are to say the least, slow. 
It has taken about a month for a letter to 
make a "round trip". As I write this, John 
has returned to New Zealand (a couple of 
days ago). While he was here, he also 
visited the Williams family down in 
Tennessee. 



10 



68' Micro Journal 



0S9 USER NOTES 

By: Peter Olbble 
517 Goler House 
Rochester, NY 14620 

The Game's the Thing 

I had a bunch of interesting things 
lined up to talk about this month: a nice 
sort program I've reviewed, user-written 
system routines, maybe something using a 
ring of tasks communicating with pipes. 
At the last minute I changed my mind. 

My execution directory fills pages. 
I dread the times when I don't remember a 
program's name and have to go rummaging 
for it. In that entire mass of programs 
there is just one game (adventure -- Gimix 
used to include it with hard-disk systems, 
maybe they still do) . 

Microware sells a small package of 
games, but they make the excuse that the 
games are good examples of Basic09 coding 
technique. I guess they don't want to 
give anyone an opportunity to accuse them 
of selling recreational programs. I don't 
have the Microware games so I won't 
comment. I don't recall any other games 
for OS-9. Are we really such a 
sober-sided bunch? Anyone out there like 
to play? 

Many of us use our computers for 
business. You'd think that was a good 
reason for the sparse supply of games, but 
even including the most businesslike 
computers I know, I can only think of two 
non-OS-9 machines that I didn't couldn't 
get games for. 

Maybe the CoCo/OS-9 contingent has 
written a pile of games that I don't know 
about. The graphics and sound on a CoCo 
beg to have games written to use them. 
(Yes, I know that there are plenty of 
games for the CoCo without OS-9.) I went 
out and bought game paddles for my CoCo so 
I'd be ready for the games when they 
started arriving. No games. 

I'm not going to simply complain 
about this. I wrote a silly little game 
for the CoCo. It needs lots of 
improvement, and it's written in Basic09 
so most CoCo owners should be able to work 
on it. I won't get carried away with this 
game project; next month I'll probably get 
back to solid stuff again. Still, I 
thought up a bunch of games for OS-9 
before I settled on this one. There are a 
bunch of old standards that wouldn't be 
hard to adapt. Til come back to this 
again. 

The game (which I think of as Weavel 



or Virus) is like most shoot-em-down 
games. You guide your weapon around with 
a joy stick (it leaves a tail behind it). 
Circles come drifting in from the right 
side of the screen. If you can get the 
point controlled by the joy stick inside 
the circle before it gets to the left side 
or the bottom of the screen, fine. If the 
circle makes it to the edge you see a 
display that is supposed to indicate that 
something nasty has happened to you. 

This game is pretty easy. You can 
make it harder by requiring a closer hit 
(change the constant in QHIT), or 
constraining the motion of the weapon. A 
nice constraint might be to require the 
weapon to be moving horizontally in order 
to score a hit. 

Speeding the game up would help a 
lot. There are enough inefficiencies in 
the code to make that the first place to 
look. Recoding the program in C would 
probably make it fast enough so you would 
start looking for extra features to add. 
Careful assembly coding would (of course) 
give the best performance. 

It looks hard to add sound. I 
wonder? 

Sorry this column is so short this 
month. It took longer to design and write 
this game than I expected. 

PROCEDURE MAIN 

0000 OIH I: INTEGER 

0007 OIM HISTRX(8).HIST3Y(a):INTEGER 

001C OIH COLORR: INTEGER 

0023 OIM BALLX.BALLYil^TE'JER 

002E OIM HIT:B00LEAN 

0035 BALLX«0 

003C BALLY«0 

0043 C0L0RL«13 

004B C0L0RR-13 

0052 RUN INIT(COLORR) 

0D5C FOR I«I TO 8 

OOSC HISTRX(I)-0 

0077 HISTRY(I)-0 

0082 NEXT I 

0080 RUN FLYINGBALKBALLX. BALLY) 

009C LOOP 

009E RUN DGHOVEOUSTRX.HISTRY.COLORR.O) 

0085 RUN QKILLfHISTRX.HISTRY.SALLX.SALLY.HIT) 

0003 IF HIT THEN 

000C RUN EXPL00E(8ALLX.8ALLY) 

00E8 BALLX-0 

00F2 BALLY -0 

00F9 ELSE 

OOFO RUN FLYING8ALL(BALLX.6ALLY) 

01OC ENDIF 

010E EN0L00P 
PROCEDURE DOMOYE 

0000 OIH I INTEGER 

0007 OIH X.Y;INTEGER 

0012 OIH FIRE:800LEAN 

0019 PARAM HISTX(8).HISTY(8): INTEGER 

002E PARAM COLOR: INTEGER 

0035 PARAM STICK: INTEGER 

003C RUN UNDRAH(HISTX.HISTY) 

0048 FOR I-i TO 7 

005B HISTX(I)«HISTX(I*1) 

0060 HISTY(I)-HISTY(I*1) 

007F NEXT I 



'66* Micro Journal 



11 



12 



008A 


RUN GFXrJOYSTK", STICK, FIRE, X,Y) 


OOAC 


X*<+X 


OOB7 


Y-3*Y 


OOC2 


HISTX(8)-X 


OOCO 


HISTY(8)-Y 


OOOB 


RUN OR AW(X t Y, COLOR) 


OOEC 


IF FIRE THEN 


OOF 5 


C0L0R-C010R+1 


OlOO 


IF C0L0R>15 THEN 


010C 


COLOR- 13 


0113 


ENOIF 


0115 


ENOIF 


PROCEDURE 


DRAW 


0000 


PARAM X.Y:INTEGER 


OOOB 


PARAM COLOR: INTEGER 


0012 


RUN GFXTLINE-.X.Y, COLOR) 


PROCEDURE 


UNDRAW 


0000 


PARAM HISTX{8),HISTY(8):1NT£GER 


0015 


OIM X1,X2,Y1 > Y2:1NTEGER 


002B 


Xl-HISTX(l) 


0032 


X2-HISTX(2) 


003C 


Yl-HISTY(l) 


0046 


Y2»HISTY(2) 


0050 


RUN GFXrLINE\Xl,Yl.X2,Y2.12) 


0073 


Xl-HISTX(B) 


0070 


Yl-HISTY(B) 


0067 


RUN GFXCHOVE-.Xl.YI) 


PROCEDURE 


FLYING8ALL 


0000 


PARAM X,Y: INTEGER 


OOOB 


RUN GFX("CIRCLE\X,Y.10,12) 


0029 


IF X-0 THEN 


0035 


IF Y<>0 THEN 


0041 


RUN OISPLAY 


0045 


ENOIF 


0047 


X-240 


004E 


Y-RNDC181) 


0056 


IF Y<B THEN 


0064 


Y-B 


006B 


ENOIF 


0060 


RUN GFX("CIRCLE",X,Y.10,15) 


OOBB 


ELSE 


008F 


X-X-6 


009A 


IF Y>10 THEN 


00A6 


Y-Y-2 


0061 


RUN GFX("CIRCLE".X,Y,10.15) 


OOCF 


ELSE 


0003 


X-0 


OOOA 


ENOIF 


OOOC 


ENOIF 


PROCEDURE QKILL 


0000 


PARAM HX(8).HY(8):1NTEGER 


0015 


PARAM 8X, BY: INTEGER 


0020 


PARAM KIT:B00LEAN 


0027 


OIM OX,OY:REAL 


0032 


DIM OSQR:REAL 


0039 


DX-BX-KX(8) 


0046 


DY-BY-HY(B) 


0057 


OSQR-OX*DX*OY*OY 


006B 


HIT-0SQR<64_ 


PROCEDURE 


OISPLAY 


0000 


OIM 1: INTEGER 


0007 


DIM J: INTEGER 


OOOE 


RUN GFX( ,, C0L0R\3) 


OOIE 


RUN GFX("M0VE".127,95) 


0030 


FOR 1-10 TO 90 STEP 10 


0045 


RUN GFX("CIRCLE",I,3) 


0D5B 


RUN GFXPCIRCLEM.O) 


0071 


NEXT 1 


007C 


RUN GFX( "COLOR" ,13) 


PROCEDURE 


EXPLOOE 


0000 


PARAM X,Y: INTEGER 


OOOB 


OIM I: INTEGER 


0012 


RUN GFXrCIRCLE\X,Y.I0,12) 


0030 


FOR 1-20 TO 2 STEP -2 


0046 


RUN GFX("CIRCLE".X,Y,I.13) 


0066 


RUN GFX("CIRCLE , \X.Y,i.l2) 


00B6 


NEXT I 


0091 


X-0 


009B 


Y-0 


PROCEOURE 


INIT 


0000 


PARAM COLOR: INTEGER 


0007 


RUN GFXrMOOEM. COLOR) 


0016 


RUN GFX( "CLEAR") 


0026 





«/-%* 



C User Notes 



Edgar M, {8od> Pits, Ph.D. 
1454 Litte Lin* 
Co«y*rS. GA 30?07 



INTRODUCTION 

This chapter begins a tutorial on the C 
language, as described by Kernighan and 
Ritchie in their C book. The tutorial is 
not comprehensive or rigorous . The reader 
is expected to be already familiar with 
BASIC or similar algorithmic languages. 

The only manner in which to learn any 

computer language, including C, is to 
actually write and debug a few programs. 

This chapter should give the reader the 

flavor of C. If you like it, get a C 

compiler for your computer and learn to 
use it, 

GENERAL 

C was developed originally at Bell Labs by 
Dennis Ritchie on a DEC PDP-11 under the 
UNIX operating system in the middle 
1970's. It is so popular in its 
environment that UNIX itself t the UNIX C 
compiler, most UNIX utilities, and many 
UNIX application programs, are all written 
almost exclusively in C. 

Because of its design and the method of 
its implementation. C has proven to be 
extremely portable across mainframes, 
minis, and, recently, micros. 
Unfortunately, many dialects have 
sprouted, and many implementations have 
not been very carefully done, making it 
somewhat difficult to transport C programs 
among the various implementations. 
However, if a subset of C is used along 
with programming guidelines, C programs 
may be generally transported far more 
easily than may be most BASIC programs. 

DESCRIPTION 

C is a "not-very-high-level" language. It 
generally deals with low-level concepts on 
the same level as macro assemblers. Thus, 
for example, although it deals with 
characters, it does not deal with strings. 
This type of ruthless language 
simplification will probably bother most 
pros rammers already familiar with APL, 
BASIC, or COBOL more than any other 
feature of the language with the possible 
exception of expression syntax, which is 
sometimes strange and arbitrary. 

C provides the control structures required 
for structured programming, a tremendous 
advance over most dialects of BASIC and 
FORTRAN, among other non-structured 
languages. It requires the declaration of 
all variables used by the program, which 
prevents the problems caused by variables 
mis-spelled in BASIC and FORTRAN. It 
provides a block-structured syntax which 
prevents one subroutine from Interfering 
with the variables of another subroutine, 
another highly-desirable feature of many 
structured languages. Refer often to the 
example at the end of this article to 
relate to the concepts as they are 
presented. 



68' Micro Journal 



A8 jU8t 

declared 

declared 

"Local" 

subrouti 

terms f 

language 

variable 

for all 

BASIC, 

defined. 



VARIABLE DECLARATIONS 

noted, all variables must be 

before their use. Variables 

within subroutines are called 

and those declared outside of 

nes are called "global". These 

ollow the block structure of the C 

and Indicate the range of a 

In terms of whether It exists 

subroutines in a program, as in 

or for only the one which It Is 



C has several types of 
declarations, as follows; 



basic variable 



Int Integer 

(usually 16 bits) 
short Int short Integer 

(usually 8 or 16 bits) 
char single character 

(usually 8 bits) 
float single-precision floating point 

(usually 32 bits) 
double double-precision floating point 

(usually 64 bits) 
long int long Integer 

(usually 32 bits) 



It also has a large number of variants and 
composite variants of these types, 
including "unsigned" , "union 1 ' 
"structure", "pointer", and "function* 
meta-types returning these types, some of 
which will be covered in this chapter, and 
some of which will be covered in the next 
chapter. 

An array of a certain variable type is 
designated by placing the constant number 
of elements in the array, in brackets, 
after the variable name, in the type 
statement. 

Variable naming restrictions and 
conventions vary significantly and may 
cause difficulty in transporting C 
programs among compilers and systems. The 
usual mode of implementation of C 
compilers is to translate the C source to 
an intermediate assembler language, which 
Is then assembled using either a special 
or a standard system assembler. Depending 
upon the details of the implementation, 
the C variables and subroutine names may 
be required to follow conventions and 
restrictions of the host system. In 
addition, C compilers reserve certain 
keywords for their own use, the exact list 
depending upon the implementation. 

Variable and subroutine names in C should 
begin with a letter and may be composed of 
letters and numbers. Some Implementations 
allow underline, at, and dollar as 
additional subsequent symbols. Some 
distinguish between upper and lower case 
letters, and some do not. Some require 
uniqueness in the first six characters. 

Some systems require library file and 
function names to contain only upper-case 
letters and numbers, while others allow or 
require prefixes, suffixes, or other 
system-dependent-information. Most full C 
compilers support at least the the minimum 



to zero 
whereas the 



in many 
following 



K and R standards for variable and 
subroutine names and they support host 
system standards for library files. 

CONSTANTS 

INTROL allows several types of and 
notations for constants. The user should 
generally avoid mixing types of variables 
and constants in the same expression as 
the implicit conversions provided by the C 
compiler may not be what the user 
expected. For example, the following 
expression; 

(1/2) 

may evaluate 
implementations , 
expression; 

(1.0/2.0) 

will normally evaluate to 0.5 (in 
implementations supporting floating point, 
of course). 

Type "Int" and "float" constants are 
written in C. as in BASIC, using the 
expected notation, such as the following: 

1,-1, +1, 2.5, etc. 

However, the following (exponential) 
notation may also be used: 

1E0, -1E-7, 2.5E+3, etc. 

Type "double" constants are written using 
the same notation, assuming that a given C 
compiler supports them. Type "long int" 
constants may be written as normal 
integers, followed by "L" or "1". Integer 
constants too large to be "short int" 
constants will be automatically converted 
to "long int". Type "int" constants may 
also be written using octal or hexadecimal 
notation, by preceding a digit string with 
a zero for octal or by preceding a string 
containing digits and the letters A-F (or 
a-f) with "0x w for hexadecimal • 

Type "char" constants may be entered as a 
single character enclosed in single 
quotes, or as a symbolic escape sequence 
of one of the following forms: 

\n (newllne) 

\t (tab) 

\b (backspace) 

\r [carriage return) 

\f (form feed) 

\1 (line feed) 

\\ {backslash) 

V (single quote) 

\0 (null) 

\nnn (octal nnn) 

\xnn (hex nn) 

Type "char" constants may be used wherever 



S 



nt" constants may be used. However, 
various implementations vary concerning 
the sign-extension or truncation employed 
In the conversion of type "char" to type 
"int". 

A string constant, as in BASIC, is a 
series or zero or more characters (or 
symbolic escape sequences) surrounded by 
double quotes. 



$8' Micro Journal 



13 



FUNCTIONS 

A C program is a series of one or more 
function definitions. By convention, the 
first (or only) function executed is named 
"main". K and R provides the following 
example of a C program! which happens also 
to be exactly one function: 



main () 

printf ("hello, world\n"); 

This trivial C program is Intended to 
print the following: 

hello, world 

and illustrates, by example, several 
points about functions. The body of 
main 1 * is enclosed in open and close 
braces, as required for all functions. 
The library function "printf" is called 
with one string constant argument. The 
function call statement is followed by a 
semicolon. 

The function "main" (as shown here) has no 
parameters, but, if it did, they would be 
listed between the parentheses, separated 
by commas, and declared as local 
variables, as in the following function 
definition example: 

addl(n) 
int n; 

n « n + 1: 
return (n; 

which also illustrates several items 
concerning functions. The primary point 
is that functions can return values; if a 
function does not have an explicit type, 
it is defaulted to type "int". 

The only manner in which a function can 
pass a value directly to a caller is thru 
the parameterized option of the "return" 
statement. However, a function is not 
required to have a type, as shown by the 
call to "printf" in the original example. 
Since the variable "n" is local to 
function "addl", no value may be directly 
passed back thru a parameter* 
Technically, all C parameters are passed 
by value, not by address, making it more 
difficult to pass results back to the 
caller, but solving many "side-effect" 
problems. 

Results may be returned to the caller thru 
globals, arrays, or pointers, among other 
methods. However, this method of 
parameter passing avoids the FORTRAN 
horror of accidentally modifying 
constants, as in the case of passing a 
constant, not a variable, to the 
function. 



istng € 
"adaV 



The expandability of C is partially due to 
the ease of definition of C functions in a 

Private library; "printf" is one such 
ibrary function. The standard C library 
will be discussed in a later chapter. 



EXPRESSIONS 

Although expressions in C may look a 
little strange at first to someone 
familiar with BASIC* there are strong 
parallels between the languages in terms 
of expression formation. 

The arithmetic operators are as follows: 



* 

/ 
% 



addition 

subtraction 

multiplication 

division 

modulus 

unary negation 
++ unary increment 

unary decrement 
, sequential evaluation 

The logical operators are as follows: 



tt 



and 

or 

unary not 



The relational operators are as follows: 



> 

< 
<« 



greater 

not less 

less 

not greater 

equal 

not equal 



Note that the "equal" operator is "-=" , 
not "-". 

The assignment operator "=" is allowed 
inside expressions, and has the same 
interpretation as outside expressions, of 
changing the value of the variable on its 
left side to that of the expression on its 
right. 

The bitwise logical operators are as 
follows: 

Iand 
or 
exclusive or 
« left shift 
» right shift 

unary one's complement 

The conditional expression is designated 
by the pair or operators "? M and ": when 
used in the following context: 



el ? e2 



e3 



which may be Interpreted as follows: 

if "el" is true 

the value of the expression is "e2" 
else 

the value of the expression is "e3". 

The value of a "true" logical expression 
is usually non-zero [one in some 
implementations, minus one in some, other 
values in some), and the value of a 
"false" logical expression is usually zero 
(minus one in some implementations). Thus 
logical expressions may be used in 
arithmetic expressions, with care. 

Parentheses may be used, as in BASIC, to 
force grouping. Brackets are used to 
indicate array subcrlpts, rather than the 



14 



'68' Micro Journal 



double use of parentheses in BASIC and 
FORTRAN. 

The decrement and increment operators of C 
look strange initially to BASIC 
programmers. The increment operator "++" 
adds one to a variable and the decrement 
operator " — " subtracts one from a 
variable. If the operator appears before 
the variable, the variable is incremented 
before using its value, and if the 
operator appears after the variable, the 
variable is Incremented after using its 
value. 

For example, the following statement: 

if (n < 10) ++n; 

would cause "n" to be incremented by one 
if its value were less than 10, as would 
the following statement: 

if (n < 10) n++; 

since the effect on 
both cases. But, in 
statement: 



the following 



if (n < 10) a[n++]-n; 



"n" is incremented between 
storing the value of "n" in a 
different element of "a[] H . 



the value of 
uses , 



There is an option of the assignment 
operator H » H analogous to the increment 
and decrement operators. If the "»" is 
preceded by one of the following binary 
operators (call it M b"): 



-. * 



, I \ X, «, », *, 



the compound assignment resulting from 
,! b=" in the following expression: 

u b= expr 

is equivalent to the following expression: 

u = (u) b (expr) 

so that the following (commonly used) 
expression: 

w += 2 
is equivalent to the following expression: 

w » w ♦ 2 

in all contexts. 

The "comma" operator is used in two 
contexts. The most familiar one is that of 
separating parameters of a function call 
or definition or of separating items being 
declared. The other use is that of 
causing sequential evaluation of 
arithmetic expressions; the value and type 
of the last expression is used as the 
value and type of the entire group. It 
has the following format: 

(expl expn) 

Although the parentheses are not a part of 
the comma operator, they should always be 
coded to dignify that the commas are used 
in this context and not as separators. 



The fact that the assignment operator may 
be used in an expression leads to 
programmers often confusing it with the 
equal relational operator. Former BASIC 
programmers must be especially careful not 
to write statements such as the following; 



if (c = 2) 



3; 



which seems natural but was probably 
intended to be the following; 



if (c 



2) n = 3; 



One hint is to write constants first, 
whenever possible, in relational 
expressions; then the following expression 
would generate a syntax error: 

if (2 - c) n - 3; 

rather than compiling quietly, but perhaps 
incorrectly. 



OPERATOR PRIORITIES AND ASSOCIATIVITIES 

One of the most troublesome "features" of 
the C language is its somewhat strange set 
of rules of operator hierarchy (priority) 
and associativity (left to right or right 
to left). The following table provides 
this information, with the rows arranged 
in order of decreasing priority: 



OPERATOR 



I ~ ++ () 

(type) * & sizeof 



+ - 



« » 

< O > >= 



! ! 



» +» — /- %= (etc.) 



ASSOCIATIVITY 

left-right 
right-left 

left-right 
left-right 
left-right 
left-right 
left-right 
left-right 
left-right 
left-right 
left-right 
left-right 
right-left 
right-left 
left-right 



Some of the operators in this table 
not in the 'natural' 1 order of most 
languages. To avoid undesired ope 
grouping, parenthesize heavily, 
expressions involving operators of 
priority, K and R does not specify 
of evaluation: thus avoid expressions 
as the following: 

(a[n++] + n++) 



are 
other 
rator 
Among 
equal 
order 
such 



which has different Interpretations, 
depending upon whether C evaluates the 

expression left-to-right or right-to-left. 



STATEMENTS 

The C language has only a limited number 
of statements, far fewer than BASIC for 
FORTRAN, since C relies on function 
libraries to implement all I/O and other 
system interfaces. Several functions have 



'68' Micro Journal 



15 






already been used without explanation to 
avoid cluttering this explanation with 
side-notes. C uses semicolons to separate 
statements, whether on the same or on 
different lines. 

The simplest (and sometimes most 
treacherous) C statement is the comment 
statement. It is introduced with ,f /*" and 
terminated with "*/"• Comments may 
officially not be nested (according to K 
and R) , although some versions of C 
(including BDS and INTROL) allow nested 
comments. Since C is normally insensitive 
to end-of-line in many cases, a missing or 
miscoded "*/" can cause large chunks of a 
C program to be ignored incorrectly* The 
best advice on comments is probably to 
Include the termination on the same line 
as the introduction. 

In several cases, expressions may appear 
as statements. Several instances of this 
have already been shown. The primary 
situations in which expressions are used 
as statements include the following: 

assignment 

function calls 

increment 

decrement 

compound assignment 

The "if" statement is somewhat similar to 
the BASIC "if" statement. Its syntax is 
as follows: 



if (expression) statement 
if (l 



.expression) statement else statement 

Note that, unlike BASIC, parentheses are 
required surrounding the control 
expression. The interpretation of the "if" 
statement is identical in C and in BASIC. 
However, the use of Boolean expressions 
in BASIC may not be compatible with the 
definitions of TRUE and FALSE in a 
specific C implementation. 

The "while" statement establishes a 
structured loop in which the control 
condition is tested before the first (and 
any subsequent) executions of the body of 
the loop. Its syntax is as follows: 

while (expression) statement 

and it may be represented symbolically by 
a BASIC sequence similar to the following: 

100 if (expression) goto 200 

goto 300 
200 statement 

goto 100 
300 ♦ ♦♦ 

The "do" statement establishes a 
structured loop in which the control 
condition is tested after the first (and 
any subsequent) executions of the body of 
the loop. Its syntax is as follows: 

do statement while (expression) 

and it may be represented symbolically by 
a BASIC sequence similar to the following: 

100 statement 

if (expression) goto 100 



The "for 11 statement establishes a loop 
based upon three control expressions. Its 
syntax is as follows: 

for (expressionl ; expression2; expression3) 
statement 

and it may be represented symbolically by 
the BASIC sequence similar to the 
following: 



100 
200 

300 



expressionl 

if (expression2) goto 200 

goto 300 

statementl 

expression3 

goto 100 



Note that the C version of the "for" 
statement is far more sophisticated than 
is the BASIC version. Its interpretation 
is also different, in that it checks the 
condition the first time f as opposed to 
BASIC, which does not check the condition 
the first time. 

The "switch" statement provides a 
multi-way decision scheme similar to an 
iterated 

if ( • • .) ... else . . 

statement. Its syntax is as follows: 

switch (expression) 

case Cl : statement; ••»• 
case C2: statement; . ... 



} 



default: statement: 



where the "Cl", "C2", etc. represent 
constants with the same type as the 
expression and the "default" clause is 
optional. The expression is evaluated and 
matched against "Cl", "C2" ? etc. If a 
match is found, that sequence of 
statements is executed. If not, the 
"default" sequence is executed. If a 
match is found, a "break", "continue", or 
"goto" is normally required to prevent 
falling thru to the next case. 

The "break" statement causes an immediate 
exit from the innermost "do", "for", 
"switch", or "while" statement in which it 
appears. It functions as if it were a 
"goto" statement referencing an imaginary 
label just beyond the end of the 
statement. Its syntax is as follows: 

break 

The "continue" statement causes the next 
Iteration of the innermost "do", "for", or 
"while" statement to be performed or the 
loop to be terminated, as the control 
expression dictates. Its syntax is as 
follows : 

continue 

The "return" statement has already been 
discussed. It is used to return control to 
the caller of a function. Its syntax is 
as follows: 



16 



"68' Micro Journal 



return 

or 
return (expression) 

where "expression" provides the value 
returned by the function, if any. If a 
value is expected, but none is provided, 
the resulting value is unpredictable, tr 
no value is expected but one is provided, 
it is discarded. 

The "goto" statement is used to explicitly 
transfer program control to a label. The 
syntax of a goto" is as follows: 

goto label 

and the syntax of a label is as follows; 

label: statement 

where "label" must follow the rules for C 
variables and must be defined within the 
same subroutine or block in which it is 
used. 

The "null" statement is allowed and is 
useful in many cases in which a statement 
is required, but is not needed, such as in 
"for" and "while" statements. 

The C language allows a compound statement 
to appear wherever a statement may appear. 
This is indicated by the use of open and 
close braces ('{' and "}') delimiting a 
sequence of zero or more declarations and 
zero or more statements. The syntax for 
the compound statement is as follows: 



{ 



declaration! ; 



//define tabsize 2000 



int tab[ tabsize] ; 

since the size of an array is required to 
be a constant. 

Another commonly-used preprocessor command 
is "include". Its syntax is as follows: 

//include "filename" 

This causes the preprocessor to search for 
"filename" in an operating-system 
dependent manner, and replace the 
"include" command with the entire contents 
of the file, which is, of course, assumed 
to contain C functions, declarations, 
statements, etc. Some implementations 
allow or require alternate syntax of the 
"^include" statement, primarily concerning 
the inclusion, deletion, or alternation of 
the delimiters surrounding the filename. 

SUMMARY 

This chapter began a tutorial on a subset 
of the C programming language. Subsequent 
chapters present some of the essential 
language and library elements not 
described in this chapter. 

The reader should be able to understand 
the example below. If you have access to 
a C compiler, key in the example and run 
it. The only point in the example not 
covered in this chapter is that "lid" in a 
"printf" string constant causes a number 
to be printed in decimal notation. This 
will be covered in a later chapter. 



declaratlonn; 
statementl ; 



/* Eraetosthenea Sieve Prime Humber Progran in C */ 
/« fro« Byte, September 1981, ?g. 186 */ 



statementn; 



PREPROCESSOR 

Most C compilers provide a preprocessing 
capability which extends the compiler's 
usefulness in a manner similar to that 
provided by macro assemblers. Lines 
beginning with "#" are preprocessor 
definition lines. 

Although there are many preprocessor 
definition commands, only the two most 
common ones are described below. 

The most commonly-used preprocessor 
command is "#define". Its syntax is as 
follows: 



//define Identifier string 
//define identifier (idl,.. 



,idn) string 



In the first case, subsequent occ 
of "identifier", not in comments 



:currences 

or string 

constants t are replaced by "string". In 

rrences of 

specified 

"string", 

»nt of the 

This 

for cases 



the second case, subsequent occuri 
"identifier" followed by the 
parameter list are replaced by 
modified by parametric replacemer 
"idl" thru *idn" in "string". 
capability is used primarily 
such as the following: 



//define TRUE 1 

^define FALSE 

//define SIZE 8190 

^define SIZEPL 8191 

char flags [SIZEPL] ; 



main( ) 



int t . prime t k,count ,iter; 
tfl"10 tterations\n' , J; 
(iter=l; iter<-10; iter++) 



print J 
for( 



count D 0; 

for(I-0; iOSIZE; i++) f lags[I]-TRUE: 

forCi-0; iOSIZE; i++) 

if(flagsli]) 

prime-i+i+3; 

while(k<-S!ZE) 



} 



flags Ik) -FALSE; 

k+*prime; 



count*count+l ; 



} 



} 



printf ("Xd primes\n", count) ; 



68* Micro Journal 



17 



68OOO USER NOTES 

Philip Lucldo 

2320 Saratoga Or to 

Sharpvllfc, p\ 16190 

More on the 68020 

This, hopefuLLy, should finish up ray columns 
on the 68020. This month the focus is more 
on the internal and hardware aspects, after 
last month's software emphasis on new 
instructions and addressing modes. I'll 
mostly just be going through the 68020 
user's manual, picking out the high points. 

Registers 

The 68020 adds a few new registers to the 
large complement of the 68000. Address 
register A7 , which functions as the stack 
pointer, is actually two separate registers 
in the 68000» one each for the user and 
system states. The 68020 has three A7 
registers, with two now devoted to the 
system state. These are the master and 
Interrupt stack pointers. The actual 
register to use is determined by a new M bit 
in the status register. The reason for two 
system stack pointers is to simplify 
processing in multi-tasking environments. 
The interrupt stack pointer (ISP) is enabled 
by default after reset or after an 
interrupt* The master stack pointer (MSP), 
if enabled by setting the M bit, will be 
active after a non-interrupt exception, such 
as a TRAP call from the user state. This 
enables an operating system to set up a 
separate system stack for each executing 
process while multi-tasking, speeding the 
processing of system calLs, but use only one 
stack for Interrupt processing. 

In addition to the new M bit in the status 
register, there are now two trace bits, TO 
and Tl, Instead of the single T trace bit in 
the 68000 SR. The additional trace bit is 
used to only trace instructions which change 
the flow of a program, like JMP, JSR, TRAP, 
Instead of tracing after each instruction. 

There are three registers which were 
actually first Introduced on the 68010. 
These are the vector base register (VBR), 
and two alternate function code registers 
(SFC and DFC). The VBR is used to supply an 
origin for the IK table of exception 
vectors, which is found at address by 
default In a 68000. This allows separate 
exception tables to be defined for each 
process in a multi-tasking system. The 



alternate function codes are used by the 
MOVES instruction, which allows access to an 
address space (such as user data space) not 
normally accessible to the system state. 

Instruction Cache 

The 68020 has a cache of on-chip memory 
which allows tight loops and commonly used 
instruction sequences to execute without 
reading the external memory. The cache is 
256 bytes long, organized as 64 long words. 
The cache is only used during instruction 
fetches, so data references always go to the 
external memory. Since actual programs 
spend most of their time executing a small 
number of loops, this cache can significantly 
speed execution, while freeing the external 
bus for use by other processors or DMA. 

Two new registers control the cache. The 
cache control register (CACR) has four bits 
used to modify the cache's behavior. The E 
bit is used to enable cache operation under 
software control. The F bit freezes the 
cache, so it's current contents are not 
updated. The C bit is used to clear the 
current cache contents. Finally, the CE 
bit, along with the new cache address 
register (CAAR), is used to clear a single 
entry in the cache. In addition to these 
software controls, there is a single input 
signal, CDIS/, used to disable the cache 
under hardware control. 

Virtual operation 

In common with the 68010 and 68012, the 
68020 is capable of what is called 'virtual 
memory'. With virtual memory, a user 
program may be written as if it had a huge 
amount of memory available to it (up to the 
4 gigabyte addressing range of the 68020), 
while in reality a much smaller amount of 
memory is actually present in the computer. 

In virtual memory, the system program 
allocates some physical memory to a user 
program, while keeping track of all memory 
which the user thinks it has access to. 
The user program Issues memory references 
using addresses of memory which it believes 
is available. If an address corresponds to 
physical memory currently allocated to the 
user program, then the user address is 
translated to the proper physical address 
and the operation is completed. This 
translation is performed automatically by a 
memory management unit (HMU) . If the user 
address does not so correspond, though, 



18 



W Micro Journal 



then the MMU issues a "page fault", which 
instructs the system program to load the 
referenced memory from secondary storage, 
such as a hard disk. By keeping most of a 
user program's memory on disk, rather than 
in immediately accessible memory, a user 
program can be made to believe it has nearly 
unlimited resources, while keeping the 
actual system memory down to some more 
reasonable figure. 

In the 68020, this virtual memory is 
supported' by being able to suspend an 
instruction in the middle of its processing. 
If the MMU signals the 68020 that a page 
fault has occurred, the current processor 
state is completely stacked. The 
information stacked includes every internal 
register needed by the 68020 to determine 
just where processing was halted. The 
system program looks at this information to 
determine the memory to be loaded from the 
disk, then executes an RTE (return from 
exception) instruction. The RTE reloads the 
processor state, and the instruction is 
continued from where it left off. 

This ability to continue an instruction 
after it has been halted by non-existent 
memory is also useful for emulating virtual 
1/0 devices. When a user program 
references a particular address, which is 
assigned to an 1/0 device not actually in 
the computer, the system program can detect 
this fact and simulate the device. Thus, 
the user program never knows that the 
device is not present. 

Addressing and the Bus 

The 68020 has loosened the constraints 
governing access to memory through the bus. 
In the 68000, all references to words or 
long words in memory were required to be 
aligned to an even byte address. In the 
68020, while the restriction still exists for 
instructions, It is no longer in effect for 
data references. Thus, for instance, a long 
word MOVE to memory may now be executed to 
any byte address. 

Writing or reading long word data with a 
misaligned address, with a full 32 bit data 
bus, requires splitting the write or read 
into multiple cycles. Thus if the long word 
is being stored at an address of $xxxxxxxl, 
the high three bytes are first written on 
the lower 24 bits of the data bus, with the 
upper 8 bits to be ignored, followed by 
writing the low byte on the upper 8 bits of 



the data bus, with the lower 24 bits to be 
ignored. To perform this operation, the 
68020 supplies two output lines, SIZ0 and 
SIZ1, which describe the size of the data 
for the current operation. In conjunction 
with the actual address on the bus, memory 
must decide which data bits are actually 
active, and which are to be ignored. 

The 68020 also allows dynamic bus sizing. 
This means that the memory connected to the 
68020 may be organized as 8-, 16-, or 32- 
bits wide. With each transfer, the 
addressed memory tells the 68020 how many 
bits it can handle at a time, using two 
input lines, DSACK0/ and DSACK1/ . The 68020 
will automatically split the reference so 
that data is transferred using the proper 
number of bits. 

By combining misaligned references with 
dynamic bus sizing, it is obvious that the 
problem of deciding just what is present 
where on the data bus can get very 
complicated. Memory must be quite a bit 
smarter than at present, but in exchange 
the maximum flexibility in addressing is 
possible. 

Instruct loo Tlalog 

The 68020 is equipped with a three stage 
pipeline, which enables it to prefetch 
instructions well before they are actually 
executed. In addition, the internal 
processing is divided up so that at a single 
instant, one instruction might be writing to 
memory, the following instruction is 
performing arithmetic with the data 
registers, and the instruction after that is 
being decoded to prepare for execution. 

This concurrency of operation, overlapping 
stages in the execution of instructions, 
means that instruction timing is no longer 
an exact thing* Add to this the presence 
of the instruction cache, so that an 
instruction may or may not require an 
external memory read, as well as misaligned 
accesses and dynamic bus sizing. The most 
that can be said about instruction timing is 
now to give a best and worst case tinting, 
with the average falling somewhere in 
between, depending on the context of the 
instruction. The difference between best 
and worst case is often seven cycles or 
more. With caching and overlap, some 
instructions may even appear to execute in 
zero cycles* 



'68' Micro Journal 



19 






And So On, Forever More 

If by now you've gotten the impression that 
the 68020 is one powerful, but complicated, 
microprocessor, congratulations ! You're 
right on the mark* 111 cut it short here, 
even though Tve only scratched the surface. 
There is still the coprocessor interface, 
the module call support, address space 
access levels, and various new exception 
types. Enough is enough, though. If you 
want to know more, see the book I've been 
cribbing from for the past few columns, the 
68020 32-Bit Microprocessor User's Manual, 
Motorola part number MC6o020UM(ADl). 

On the Hone Front 

Currently, I am a system programmer for a 
company Involved in application programming 
for various niches like financial computing. 
Unfortunately, I've decided that my idea of 
heaven on earth Involves working at home for 
myself, doing freelance programming, possibly 
as a consultant but preferably writing 
programs for the general market* To that 
end, I've decided to go off on my own, about 
six months from now. 

What does this have to do with this column? 
Well, I'm not sure what kind of living can be 
made from writing software just for the 6809 
and 68000 using the CoCo or 0S-9, so Tve 
plunked down my money and bought a 
Macintosh. 

Am I abandoning the S-50 and 6809? Not at 
all. In fact, I am right now working on a 
few projects which will, with a little luck, 
do fairly well. Still, there are at least 
300,000 Macs out there* It is just a little 
hard to Ignore that large a user base if I 
have any hope of supporting myself with 
freelance software* 

In addition to the sales aspect, the 
Macintosh is simply a fun machine* It really 
is radically different from the sort of 
computer I'm accustomed to using. For one 
thing, I've never done much with graphics, 
which is at the heart of the Mac* The user 
Interface, with the mouse and the desktop 
icons, makes use of the machine a breeze* 
The Macintosh is not all perfection, by any 
means. I am at heart a hacker, while the 
Mac is a user's machine* I don't foresee my 
Helix gathering dust in some corner, since 
it really helps fulfill a quite different type 
of "computer experience*' In the same way, 
I can easily see, say, the 68000 with OS- 
9/68K doing quite nicely, occupying a 
different part of the market. I don't think 
that the Mac is the way to go for real-time 



data logging, for instance. Also, the 
Macintosh can be unbearably slow at times, 
what with its small capacity (400k) disk 
drives. I'm not sure that a hard disk drive 
would completely solve my dislikes, either. 
Anyway, these are just some initial 
thoughts. I've had my Mac for all of two 
days now, which hardly makes me an expert. 
All the software I have so far consists of 
MacPaint and MacWrite, some interesting 
public domain stuff, and the Sargon III 
chess program (which either plays a terrific 
game of chess, or I'm much rustler than I 
thought - probably both). I've got a C 
compiler, which Includes an assembler, 
coming in soon, so I should be able to get 
some real work going* 

Will this column cover only the Macintosh 
from now on? No, since I really do plan on 
using my Helix. Instead, expect to see a 
mixture, with 0S-9/68K, the Mac, and 68000 
material in general. When I do cover the 
Mac, I'd prefer to get technical, since many 
of you are also hard core hackers, who know 
that any machine, no matter how user 
friendly, can be ripped to pieces for fun 
and profit (figuratively of course - I've 
spent too much to trash my Macintosh just 
yet). 



Whimsical 
Revisited 



A year or so ago, I reviewed a new compiler called 
Whimsical, for those of you who don't have that review, I 
will repeat the description of this language. Whimsical 
Is not a standard language, but It very closely resembles 
Pascal In me<»y ways. The reason It Is different f raw the 
standard languages. Is that It was "tailored* 1 to fit the 
structure of the &8Q9 processor (and I mloht add, to 
some extent, stand-alone system applications as In 
controls and Instrumentation)* To quote the 
Instruction manual, "The three lexdcen levels of 
Whimsical are chosen to be efficiently supported by the 
6 809's complement of Index registers. Also B bit 
arithmetic end fast unsigned multiply are supported 
directly.* 1 

When 1 reviewed Whimsical previously, It supported only 
Integer arithmetic (In several sizes and varieties, as It 
does presently). I don't have that review In front of me 
as I write this, but at the end I said something like 
"Now If you only would add floating point capab II My.. *." 
Well, the author of Whimsical, John Spray, of Auckland New 
Zealand, has done just that. In addition, he has made 
several changes that have added to the utility of 
Whimsical. The floating point arithmetic Is the more or 
less standard 24 bit signed mantissa and 8 bit exponent 
form, giving almost 7 dljglts precision* I find this level 
of precision adequate for nearly all machine control and 
measurement applications* 

The best new feature, however, Is the ability to 
compile separate code modules which may then be Included 
In programs. Each module requires a simple header that 
declares the GLOBAL variables and lists the inclu d 
procedures that ere to be Tobllcly" accessible, using 
the keyword 'PUBLIC* 1 , end the LOCAL variables using the 
keyword "PRIVATE". If the module requires access to 
variables declared elsewere In a program, those variables 
must be listed under the keyword EXTERNAL". This may 



20 



'68* Micro Joumaf 



occur If you pass parameters to the procedures In the 
module via GLOBAL variables- 

Another recent modification was to Include alt the 
normal runtime subroutines with the compiler file so that 
they alt load Into memory when the compiler Is loaded- 
This avoids disk searches for subroutine files during 
the compile- Those that ore needed are simply copied 
from memory to the output file- Because of these two 
new features, I found That the compilation time Is 
greatly reduced. The source code to several of the 
runtime subroutines Is provided for Information, and If 
you need a custom version of one or more of these, there 
Is an option that causes the compiler to scan the 
working disk for your customized subroutines, using 
them In preference to the built In ones- 

I've Included a listing of a program that contains the 
procedures necessary to calculate the sine of an angle, 
and a "main" program that Is essentially a test program 
to allow me to '^exercise" the sine procedure to rest for 
errors- The program contains the instruction to 
Include the module "FIXEDIO" which contains the code 
necessary to allow formatted output of floating point 
numbers in a manner similar to Pascal- That is, the 
procedure WRITER (for WRITE Real) Is passed the variable 
name and specification for field width and dfqfts after 
the decimal point, fust as In Pascal. Since the code in 
riX 10 was supplied by Whimsical Developments as part Gf 
a package of "library" modules, and since I have only 
modified It slightly, I won't reproduce It here. You 
might note the declaration of an array of REAL constants 
that are used In the calculation. To my knowledge, the 
only other programming language that allows this fs'£". 

Compilation of the SCITEST program took a total of 18 
seconds Including the time to load the compiler, get the 
FIXED 10 module, compile the program and write the object 
file to disk! That time Is for a 2 Mhz system. Of that 
time, about 7 seconds Is used just to load the compiler, 
whlcn with all the subroutines, Is now 129 sectors long. 
I also tested the compile time on a I Hz system, and 
found It to be 28 seconds, stlh very reasonable as 
complte times go. 

The compiler supports three sizes of slcned Integer 
variables; SMALLINT (8 bits), INTEGER (IB bits) and 
LARGElNT (32 bits), as well as the REAL data type. There 
are two unsigned Integer 1ypes, BYTE and DBYTE* These 
two "types always use hexadecimal format for Input, 
output, and literal constants. DBYTES are of course 
very useful for Address Information. There are also 1ypes 
for CHAR and BOOLEAN. The data typing Is strict and 
there are "Intrinsic" functions provided for each of the 
type conversions- There are no automatic type 
conversions- By this. \ mean that, for example .ff a 
constant Is declared BYTf CR - SOD; you cannot WRITE CR 
to the terminal. You must "convert" ft to a CHAR type by 
using the Intrinsic function CHR as In WRITE CHR(CR>. 
The function CHR does nothing other than to signal the 
compiler that you haven't unintentionally used a constant 
of the wrong type* Whimsical Is very Pascal like" in this 
respect* This example Is not a very good one since you 
could simply declare the constant as uR = CNR(SOD), and 
you would have a constant of type CHAR- However, it 
Illustrates the point- 
Full arithmetic overflow checking may be provided at 
runtime by including the optional runtime checking when 
the program is compiled- Optionally, overflow may be 
handled by "saturation". That Is, for example, SMALL INT 
has the ranqe of -128 to +127. If the value +130 Is put 
Into a SMA LINT It may be made to '•saturate" and assume 
the value of +127. Normally, overflow would cause it to 
assume the value -126 for such an overflow condition- 
Obviously, +127 Is closer to the desired value than -126. 
An error may be flagged on overflow regardless of whether 
the saturation option Is In effect. Slngty dimensioned 
arrays, sometimes called vectors are supported, and full 
support tor sequential files Is provided- 

This Is excellent software. It Is efficient and well 
debugged. You will have little trouble learning it If you 
have a working knowledge of Pascal and just a uttle more 
difficulty If you know M C". There are a few peculiar 
syntax differences between Whimsical and Pascal that 
are quite obvious, perhaps purposely so that you can 
distinguish this co<5e from Pascal at a glance. The most 
obvious ones are the use of a percent sign {%) In the 
leftmost column as a delimiter for a comment line, and 
that a Procedure declaration Is terminated with an equal 
sign C = ) rather than a semicolon (;) as In Pascal. The 
usage seems rather natural. It Is as though you are 
declaring the Procedure to be equal to the statements 
that follow the header. 



PROCEDURE GETCHAR= 

There Is one abbreviation allowed. If you like, you may 
substitute "curly braces" for B GIN and END respectively, 

I r ve tried here to cover ail the Interesting and 
unusual points about Whimsical with an emphasis on the 
new features that have been added since the previous 
review. I'm sure Pve overlooked some and valuable 
feature somewhere, and that you readers and/or John 
Spray will Jet me know after reading this- 

Review by: Ron Anderson 

Whimsical Is a product of: 

Whimsical Developments 
P.O.Box 47-121 
Auckland, New Zealand 

It Is available from Southeast Media. 

(see Advertising this Issue) 
FREE CALL 

1-800-3 8-6800 

Price: $195.00 



* NOOULE fOR sine: function 

NODULE SlHMDD* 
KG til 
PUBLIC 

REAL P102 - i. 570/963; 

RIAL PROCEDURE SlNtftlAL DP?*): 

PRIVATE 

REAL PROCE0URE POlTlREAL 0PER, REAl ARRAY TABLE; SHAu!«T COl/NT). 

BCClN 

POLY :- TABLE[ COUNT]; 
00 BEGJx 

COUNT :■ 00UNT-1: 
POLY ;-P0CY« OPE R*TA&UC COUNT 3; 
EH0 UNTIL IOUNT-0; 
€«>; 



REAl PR0CE0JRE SI «1 REAL <PER>; 
BEG1V 

MCLEAN HE&ATlvr, 

SHAlUHT IQURO; 

REAL QUADRANT. 

RtAL ARRAY SIN G0EFF-C 1.0. -0.1666666, B.mj3*E-C3, 

-1.98S2E-04, 2.82551-06. -3.7E-08). 
IF OPEROO.O TtfEN 
8EG1* 

QUADRANT :■ FLOAT ( 1NTI0PCR/PI02) >; 
QPER:- 0PER-0UADRAKT * Pt02. 
1QUAD :■ TRlHtTRlKlFltlOllWRWT))); 
1QUAD :- 10UAD MOD 4; 
NEGATIVE -■ IQLM>2 OR IQLfAD ■ !; 
IF I0UAO-1 OR IQUA0-3 THE* 0PER :- P]02 - 0PER; 
SJN :- OPER ■ POlV<0PER»0PER,SU COEFF.S); 
IF Nfj&ATIvE TKEN SIX :- -SIN: 
CNOt 
EN0; 
[NO. 



* ATTEMPT AT SCJ PACKAGE IN tfHWSlCAl 



'ORIGIN - (S0D00); 
"STACK - <$B0FF); 



BEGIN 

REAL NUMBER, EXPONENT; 



NOOULE S 11*00 - C00E FROM "SlNMOO.NOO.l*: 
MODULE FUE010 • C00E FROM 'FllEOlO.NOO. l\ 



* MAIN PROGRAM HERE 
00 
BEGIN 

mlU "IMPUT ANGLE FOR SINE FUNCTION {RADIANS)' 
READ NlfU€R; 
MLf; 

NRtTE "SJNE IS "; 
HRITEft(SlN( NUMBER) ,». 6); 
CRLF; 
00 
WT1L NUMKR - 0.0; 
END. 



68 Micro Journal 



21 



ADA K AND THE68000 

fly: 

THEODORE F. ELflERT 

THE UNIVERSITY OF WEST FLORIDA 

PENSACOLA, FLORIDA 32514 

PART L - WHAT IS ADA? 

In the ten years since the 
Introduction of the 8080 as the first 
really useful microprocessor, hardware 
technology has advanced at a most 
astounding rate. While this rapid 
advancement In hardware capability originally 
held promise of making software development 
easier, just the opposite effect was noted. 
As the computational power of computers 
grew, the applications grew in 
proportion ~ with the inevitable result 
that software development became the 
critical shortcoming of the industry. For a 
number of years, software technology — in 
the form of the emerging field of software 
engineering — grew at a pace much slower 
than that exhibited by its hardware 
counterpart. Part of this effect was due 
to the characteristics of existing 
programming languages, in that their design 
did not directly support many of the 
software engineering practices being 
developed as solutions to the software 
problems. Within the Department of Defense 
this trend was becoming increasingly 
evident, in the form of software that was 
very expensive, and yet was unreliable. 
Spending more money on software was not 
the answer, since reliability of software 
seemed nearly independent of the cost. 

In addition to the computers getting 
more powerful, they were also getting less 
expensive. When compared with the cost of 
software — which, being labor intensive, 
steadily increases in cost — the decreasing 
cost of hardware produced an overall system 
cost with a constantly increasing software 
component. When life-cycle costs were 
considered, the effect was even more 
pronounced, since poor reliability was 
making software maintenance a major factor. 
In the mid l97CTs, the Department of Defense 
embarked on the development of a 
programming language that would support and 
encourage the use of modern software 
engineering concepts such as abstraction, 
information hiding, and modularity. The 
result is the Ada programming language, 
established as an ANSI standard in February, 
1983. Since that time, several Ada 
compilers — some of them with associated 
work stations — have been developed. Many 



of these compilers target the Motorola 
68000 family of microprocessors, and many of 
the work stations are 68000 based. In this 
series of articles, the salient features of 
the Ada language will be presented, and the 
role played by the 68000 family of 
microprocessors in the developing Ada story 
will be investigated. 

The United States Department of 
Defense is the worlds largest user of 
computers. The mounting problem of 
software development was of critical concern 
to the Department for two reasons. First, 
of course, is the fact that software 
reliability directly affects weapon system 
reliability — a critical concern to defense 
planners. The second reason involved the 
ever present budgetary consideration — 
software costs were becoming the principle 
factor in computer system costs, and 
computer systems costs were becoming an 
appreciable part of the overall cost of any 
modern weapon system. Coupled with the 
fact that — no matter what the cost — 
software was not performing reliably, these 
considerations prompted a move on the part 
of the Department of Defense to actively 
counter the alarming trends in software 
development. To properly present the 
problem as It existed at the time, it is 
necessary to digress slightly and consider 
what is meant by the term embedded computer 
system. 

Embedded computer systems are usually 
defined to be those computer systems that 
constitute part of a larger system whose 
primary function is other than 
computational. In the case of the 
Department of Defense, the application is 
clearly to weapon systems and other military 
uses, but the general concept of an 
embedded computer system applies equally 
well to process control, to communications 
systems, and to many other non-military uses 
of computers. Within the Department of 
Defense, and in other areas as well, 
embedded computer systems generally have the 
following characteristics: 

- Programs tend to be large, on the 
order of tens of thousands or even 
hundreds of thousands of lines of code. 

- They are In service for extended 
periods, perhaps up to twenty 

years . 

- They must be f ault -t ole r an t , 
recovering from faults or gracefully 

degrading to a lower level of 

performance. This includes software 

response to exceptions in the 



22 



68' Micro Journal 



processing. 

- They undergo continuous field 
changes, including software updates 
due to design improvements or changing 
operational requirements. 

- They must have high reliability, both 
in hardware and in software. 

- There are usually physical 
constraints in terms of hardware size 
or processing speed, implying a 
requirement for efficiency in the 
software. 

There is usually a requirement for 
concurrent processing. 

Input-output requirements are 
usually specialized. 

There is usually a requirement 
for real-time processing, in that 
the system must respond to physical 
stimuli in real time. 

- There is normally a host-target 
relationship, with software 

development taking place on a large 
host computer equipped with 
ample peripherals and with software 
development tools, while the 
actual application is to the embedded 
target computer containing 
only those features necessary for 
mission functionality. 

It was the embedded computer system 
that was targeted by the Department of 
Defense in its effort to improve the quality 
and reduce the life-cycle cost of software. 
The reason for this orientation was the 
observation that software life-cycle costs 
were becoming a major contributor to overall 
systems costs, and that the cost of 
software maintenance was often exceeding 
that of initial software development. 

Studies conducted in the mid I970"s 
indicated that software developed for 
Department of Defense embedded computer 
systems was often non-responsive to user 
needs, tended to be unreliable in spite of 
high cost, was inflexible and difficult to 
maintain, and was not portable or reusable. 
In particular, programs written in assembly 
languages — by their very nature — were 
not portable and were difficult to maintain. 
The first step towards effecting some 
control over the software problem was the 
issuance of two directives: 

DOD Directive 5000.29, April, 1976 - 
required the use of a DOD approved 
high order language in defense systems. 
This directive essentially prohibited 
the use of assembly languages, 
DOD Directive 5000.31, November, 1976 - 
reduced the list of DOD approved high 
level languages to seven 



- FORTRAN - SOL/1 

- COBOL - JOVIAL J3 

- TACP0L - JOVIAL J7 3 

- CMS-2: 

These directives put an end to the use of 
assembly language — although waivers could 
be obtained for justified reasons — and, 
perhaps more importantly, curtailed the 
proliferation of high order languages. 

The second step in the process was to 
determine just what characteristics a high 
order language for embedded system 
programming should exhibit. While it was 
recognized that a programming language is 
neither the cause of nor the solution to 
software development problems, it was also 
realized that a language can promote the 
application of the sound software 
engineering practices that were seen as the 
best approach to the solution of the 
software problem. These desired 
characteristics were compared to existing 
compiler design technology — in order to 
ensure feasibility — and the results were 
incorporated into a set of language 
requirements. The requirements document 
went through three iterations, aptly named 

STRAWMAN April, 1975 

W00DENMAN August, 1975 

TINMAN June, 1976.: 

The TINMAN requirements were compared to 
existing high order languages, with the 
following conclusions: 

- None of the existing languages 
met the requirements. 

- A single language that met the 
requirements could be developed. 
These conclusions formed the conception of 
the Ada Language. Further refinements of 
the requirements documents, 

IRONMAN January, 1977 

STEELMAN June* 1978 

were Issued, the latter becoming the design 
goal of the language development effort. 

The actual development process began 
with the request for proposal, Issued in 
January, 1977. The bidders were instructed 
to begin with a base language, selected from 
a group of three: 

Pascal 
ALGOL 68 
PL/1. 
The language development proceeded as a 
two-phase competitive effort, with four 
contractors selected for the first phase 
and the field narrowed to two for the 
second phase. The final result was based 
on the STEELMAN requirements, was based on 
Pascal as the base language, and was the 



'68' Micro Journal 



23 



product of the French firm Honeywell/ Bull. 

The final language design represented 
the culmination of six years of effort on 
the part of the Department of Defense and 
is contractors. There were five refinements 
of the technical requirements; there was 
scientific cooperation among military, 
industrial, and academic communities 
unprecedented in any previous language 
design effort; there was an integration of 
international interests, with 
representatives of fifteen countries 
involved; and the design process was open to 
continuous public scientific scrutiny. The 
Ada language was developed to meet specific 
design requirements, making it the first 
language to be designed using well defined 
principles of software engineering. 

The only tangible result of the design 
effort was a document — the Reference 
Manual for the Ada Programming Language , 
normally referred to as the LRM. There was 
no compiler — only the LRM, the language 
standard with which compilers must comply. 
Since the LRM was published, several Ada 
compilers have been developed, both under 
government contract and through funding by 
private industry. To date, the number of 
stands at seven, with new announcements 
occurring at an increasing pace. 

The name Ada was officially applied to 
the new language in 1979. The name is not 
an acronym, as are COBOL and FORTRAN, but 
rather it is a proper name — as is Pascal. 
The name was chosen to honor Ada Augusta, 
Countess of Lovelace (1815-1852), only 
daughter of the romantic poet Lord Byron 
and Lady Anabella Milbanke. Ada was a 
mathematician who, at an early age, became 
fascinated with Charles Babbage"s difference 
engine — so much so that she spent the 
rest of her short life involved in Babbage's 
work. She is recognized today as the 
worlds first programmer. 

The early proliferation of high order 
languages had a second, more subtle effect 
on software development. The greater the 
number of languages supported, the fewer 
software tools — debuggers, full capability 
editors, etc. — were developed, simply 
because of the dilution of resources. It 
was recognized early in the development of 
Ada that the adoption of a single high order 
language would make possible a standard 
support environment. A sequence of three 
documents outlining some technical and 
managerial issues of an Ada Programming 
Support Environment (APSE) were Issued, 
under the following names 



SANDMAN 
PEBBLEMAN 
STONEMAN 



July, 1978 
December, 1978 
February, 1980: 



The STONEMAN document provides criteria for 
assessment and evaluation of APSE designs, 
and offers guidance for APSE designers and 
implementers. 

The purpose of the APSE is to support 
the development of Ada software, and to 
support the maintenance of that software 
throughout its life-cycle. The three 
principle features of the APSE are: 

- The data base, which contains all 
information associated with a 

software project throughout its life-cycle. 
This data refers to both technical and 
management Issues. 

- The interface, which includes a 
control language for access to 
the data base and to software tools in the 
toolset. 

- The toolset, which includes 

software tools for program 
development, maintenance, and configuration 
control. 

Also addressed by the STONEMAN requirements 
is the portability of user programs and 
software tools. By providing a standard 
support environment, the portability of a 
critical asset -- the programmer — is 
enhanced. 

In order to ensure the portability of 
Ada software, the Department of Defense is 
quite insistent that no subsets or 
extensions be permitted. This control over 
the language was accomplished by 
copyrighting the term Ada, which was done in 
1981 with registration number 1,179,900. In 
December, 1980, the LRM was approved as a 
military standard — MIL-STD-1815 — and in 
February, 1983, after a massive coordination 
effort and some slight modification, it was 
approved as an ANSI standard. In order to 
meet th ANSI standard, or to qualify for 
permission to use the copyrighted term Ada, 
a compiler and its associated run-time 
support system must properly compile and 
execute a test suite of nearly two thousand 
separate tests. A compiler that satisfies 
this requirement is said to be validated. 
Compilers must be re-validated annually. 

The Ada Joint Program Office (AJPO), 
within the Office of Undersecretary for 
Research and Engineering, U.S. Department 
of Defense, was established in December, 
1980, and was charged with promotion of the 
Ada Language. Since that time, the AJPO 
has assumed several responsibilities, one of 
which is the establishment of the Ada 



24 



68' Mk*o Journal 



Validation Office, tasked with the validation 
of proposed Ada compilers. 

After having spent six years in the 
development of a state-of-the-art, high 
order language that holds promise of vast 
economies in software life-cycle costs, the 
Department of Defense initiated a systematic 
approach to the promotion of the language. 
The establishment of the Ada Joint Program 
Office was the first step, but decisive 
action was required in order to bring the 
three services and their contractors into 
the process. A draft revision to DOD 
directive 5000*31 was promulgated in June, 
1983: 

Directive 5000.31 (revised) June 1983 - 
requires all software for mission 
critical systems to be written in an 
authorized language, of which there are 
five: Ada, JOVIAL, FORTRAN, COBOL, and 
ATLAS. The Ada Language is specified 
as the single, common, computer 
programming language for Defense 
mission critical applications, 
effective January 1, 1984, for programs 
entering advanced development and July 
1, 1984, for programs entering full 
scale engineering development. Waivers 
are permitted on a specific system or 
subsystem basis. COBOL is to be used 
only for business or administrative 
applications, but consideration of Ada 
for these applications is required 
where appropriate for machine- 
independence. 
Mission critical computer resources — 
referenced in the above directive — are 
defined in accordance with 10 U.S.C. 2315 
(the Warner amendment) and include computer 
resources used in the following: 

- intelligence systems 

- cryptologic systems 

- military command and control 
systems 

- weapon systems 

- other applications critical to the 
direct fulfillment of military or intelligence 
missions. 

Given these considerations, there should be 
no doubt about the intentions of the 
Department of Defense with respect to the 
future of the Ada language. 



The infusion of a new, more capable 
programming language into the software 



development process will not, in itself, 
solve the basic problem of poor quality 
software. What is required is the 
incorporation of modern software engineering 
concepts into the design itself; the Ada 
language was designed with these concepts 
in mind. It remains to develop 
methodologies that exploit the full 
capabilities of the language. 

In late 1982, the Department of Defense 
announced its Software Initiative, a program 
intended to exploit the advantages of 
computer technology through software. The 
Software Initiative complements hardware 
initiatives within DOD, principally the Very 
High Speed Integrated Circuit (VHSIC) 
program — which holds promise for greatly 
improved hardware performance through the 
use of sub-micron feature size semiconductor 
technology -- and the Defense Advanced 
Research Project Agency (DARPA) 
supercomputer project. Simply stated, the 
goal of the initiative is to improve software 
productivity while achieving greater system 
reliability and adaptability. To obtain its 
stated goal, the Software Initiative will 
focus on three major objectives: 

- improving personnel resources 

- increasing the power of software tools 

- increasing the use of software tools. 

The Ada language development represents a 
base upon which the initiative will be 
developed. Through the efforts of the 
Initiative, the full capabilities of the 
language will be exploited. 

Two other facets of the Software 
Initiative have emerged. In November, 1984, 
Carnegie-Mellon University was selected as 
the site of the Software Engineering 
Institute, established by the Department of 
Defense to serve as a focus for applied 
research and technology transfer within the 
initiative. One of the primary 
responsibilities of the institute will be the 
development and integration of workstations 
into the software development environment. 
There will be a significant emphasis on 
knowledge based artificial Intelligence 
support systems, and on design 
methodologies. 

The second development was the 
initiation of the Software Technology for 
Adaptable, Reliable Systems (STARS) program 
within the initiative. The STARS program 
will target improvement in the acquisition, 



'66' Micro Journal 



25 



management, development, and support of 
software for military systems. 

Ada has not been without its critics. 
Because the language design was a process 
open to public scrutiny, there was 
considerable criticism leveled against the 
design at various stages of development. 
Most of this criticism concerned the 
complexity of the language, and suggested a 
powerful subset with specially designed 
extensions. Many critics expressed their 
views when the ANSI standardization was 
undertaken, and again the question of 
subsets was predominant. Extensions and 
subsets, of course, were counter to the 
design goals of the language. In the end, 
the Ada language remained as a unique set 
of language requirements, with no subsets or 
extensions permitted. 

Ada is considered by many to be the 
language of the future — at least, of the 
near future - - not only for military 
computer systems, but also for commercial 
and industrial applications as well. It is a 
state-of-the-art, general purpose language 
that provides a rich set of capabilities for 
use in the application of modern software 
engineering techniques. It has the full 
support of the Department of Defense, both 
through the protection of the integrity of 
the design and through the support 
represented by the Software Initiative, It 
is a language tailored to the 
characteristics of modern hardware. 

The Reference Manual for the Ada 
Programming Language may be obtained from 
the Superintendent of Documents, U.S. 
Government Printing Office, Washington, D.C. , 
20402 as the ANSI/MIL-STD-1815A-1983, 

Ada is a registered trademark of the U.S. 
Government (Ada Joint Program Office). 

NEXT: The Characteristics of the Ada 
Language, 

" References: 

1. "Reference Manual for the Ada 
Prog ramming Language" , ANSl/MIL-STD- 

1815A-1983. United States Department of 
Defense* 1983. 

2. "Requirements for Ada Programming 
Support Environments", U ♦ S . 

Department of Defense, "STONEMAN", February, 
1980, 



BASIC OS-9 

by Ron Yoigts 
NO PERMISSION 

I remember when I was a little tyke, I 
had to get permission from my mother to do 
something. Many times I would try 
something without asking and find I would 
get In trouble. My mother would scold me 
and tell me I had. "No PERMISSION!" So 
here I am 30 years later, from time-to- time 
when working with OS-9, I get "NO 
PERMISSION!" No, it's not mother. It's OS- 
9 letting me know that a files attributes 
do not give me access to them. 

I usually run Into this problem when I 
get a new disk with some OS-9 software. I 
do a DIR on the new disk and see what's 
available. If everything 1s 1n upper case, 
I assume they are directories. So I DIR 
them too. Somewhere down the line I get 
the message: 

ERROR #214 
-NO PERMISSION 
My experience has taught me that this must 
be a file. (By the way. It 1s best to put 
directories 1n upper case and leave files 
1n lower case. It avoids confusion later 
on.) 

All files and devices have attributes. 
Their attributes determine 1f they are a 
directory or a file. If they are 
shareable. And who has what kind of 
access. The attributes and their 
abbreviations are: 

d directory 

s shareable 

pe public execute permission 

pr public read permission 

pw public write permission 

e public execute permission 

r read permission 

w write permission 

A handy command to use Is ATTR, which 
Is found In the execution directory. It 
has two variations, if you enter: 

0S-9:attr fTy_file 

r wr 

it looks up the attributes for my file and 
reports them in the second line, "They are 
reported in the same order I listed them 
above. This response means that I can 
read and write to my file. Another user on 
the system can read "the file, but not write 
to it. The other way to use it is to 
follow the command line with changes to the 
file's attributes. The line: 



26 



'68' Micro Journal 



0S9:attr myflle pw -w -r 
wr 

adds public write permission, but removes 

my read and write permission. If you add a 

-a to the option 11st 1t will suppress 

printing out the files changed attributes. 

Using a -d, win demote a directory to a 

file. But not the other way around. If 

you want a directory, you'll have to use the 

MAKDIR command which makes new 

directories. 

On a rnultl user system ATTR can be very 

useful. You can make files available for 

public use or restrict them for personal 

use. You may want to make a file only 

public read and so that anyone can read 1t, 

but stni protect 1t from being altered. 

An accounting file may be given only public 

write, so employees can put data 1n, but 

not be able to read your business' 

finances. 

What good 1s this for someone with only 

one terminal? At home 1f your entire family 
uses the system, everyone can have their 
own user ID number. They can change their 
files' attributes to however they see fit. 
Some files might be private and others be 
shared with the family. If you're the only 
user, you may still be Interested 1n 
changing your files attributes. You could 
give a file only read access, to avoid 
Inadvertently writing to 1t and destroying 
Its contents. 

Two other things should be mentioned. 
First even 1f you don't think you'll use 
ATTR, 1t 1s wise to leave 1t 1n your 
commands directory, /DO/CMOS. Some of the 
other commands may need 1t. DELDIR for 
one uses 1t. The other thing 1s when you 
purchase new software. Most companies are 
pretty good about setting up the 
attributes. But 1f you should have a 
problem running a new program, you might 
check Its attributes. 

LET A PROFESSIONAL HELP YOU 
SORT THINGS OUT 

In last months column 1 talked about 
sorts. Creating a sort procedure can be 
fun. It can also be time consuming and 
discouraging. Consider what you have to 
do. You have to get the file. Then you 
must decide on some algorithm for sorting 
1t. You have to consider memory and disk 
space. Another 1s Its complexity. Do you 
want to sort on multiple keys? Plus are 
there any frills like adding up categories. 
Finally how do you want to write 1t back to 
the disk. Getting the results you want 
can be a programmer's nightmare. 

The program presented last month was 
called "qsort". It would sort a file of up 



to 100 lines, with the maximum line length 
of 80 characters. The sort used a quick 
sort method. I won't go Into the actual 
workings of the sort. I will say that 
developing the method for the sort was a 
challenge. Even more of a challenge was 
debugging 1t. The sort worked fine until 
the files to be sorted got to be large. 
Then when I ran the sort, 1t would go off 
to "never-never land". After evenings of 
hard work I found the problem. Whenever 
two Identical records were compared, the 
program would go Into an endless loop 
trying to find the larger. Creating the 
sort took a lot of time. And yet by most 
standards, "qsort" was a simple sort. 

If you want to sort files and don't 
want to spend a lot of time writing the 
sort routine, you might give thought to a 
"canned" program. The JBM Group has one 
package called SORTC. This 1s a sort that 
runs on Bas1c09 or Runb. While many sorts 
are limited to available memory, SORTC can 
use both memory and disk space, depending 
on the size of the sort. It has no 
restrictions on the amount of data to be 
sorted or the number of keys to be sorted. 
SORTC can also sum fields as 1t sorts. 

Sorting on multiple keys makes 1t very 
useful. Some years ago I wrote a general 
ledger program. Each record 1n the 
program contained the date paid, the 
category, to whom 1t was paid and the 
amount. Being able to sort files for the 
ledger would have been very handy. For 
example, a file containing home budget 
Information could first be sorted by 
category. This would be the main key. 
Records would be sorted according to food 
expenses, contributions to charities, 
medical payments and so forth. The second 
key could be to whom money was paid. 
Under the medical category payments to the 
doctor would be together, the dentist 
together and so on. A third key could be 
the date paid. Under doctor payments the 
dates would be sorted 1n ascending order. 
Now looking up a particular payment be fast 
and easy. First look up the category, then 
the name and finally the date. What could 
be faster and easier? 

Another feature of SORTC 1s 1t can sum 
fields for a particular key as 1t sorts. 
Using our example from before, The main key 
can still be category and the second key, 
to whom paid. This time the sort sums the 
fields as 1t works. The result 1s a sum 
for each category-name 1n the file. Under 
the medical category, payments to the 
doctor would be totaled, payments to the 



•66' Micro Journal 



27 



dentist totaled and so forth. It can also 
sum more then one field. 

One thing should be mentioned, SORTC 1s 
a set of subroutines. You write the 
Bas1c09 procedure that uses SORTC to sort 
your files. This can have mixed blessings. 
It forces you to write the Input/output 
routine for your sorts. You must also 
pass the records to and from SORTC by 
GOSUB's. On the positive side you have 
greater control over the sort. You can 
customize to your particular needs. You 
have contact with the data before 1t 1s 
sorted, so you may want to do something 
special with 1t. 

One other thing SORTC 1s made to 
handle records of fixed length. In 
Bas1c09, these may have been created with 
the TYPE declaration. GET and PUT 
statements are used to read or write 
files. The problem with this 1s many times 
files are made up of records of varying 
lengths. It 1s easy to use the OS-9 editor 
to build files of simple lists. Such lists 
might Include the members of your computer 
club, valuables 1n your house or perhaps 
some collection. I decided to attack this 
problem. The solution would be to Input a 
line from the file, convert It to a record 
of fixed size and give 1t to SORTC. Later, 
after the sort, the record would be 
returned to as a simple line to the file. 
The listing at the end of the column show 
my solution. 

The program 1s named simply enough, 
SORT. It expects two parameters to be 
passed to 1t. They are the source and the 
target files' names. The TYPE and DIM 
statements are used to create a complex 
variable, r.Hne. R.Hne 1s a string of 80 
characters. The reason for using a 
complex variable Instead of a standard 
string will soon be apparent. Next a path 
1s opened to the source file and lines are 
Input from 1t to r.Hne. The procedure PAD 
1s used to add trailing spaces to the 
string. It does the opposite of the 
Bas1c09 command, TRIMS. Next azu.charzu 
1s set equal to r. This 1s Interesting. 
R.Hne 1s a string. Azu.charzu 1s a 
complex variable of 80 bytes. It can't be 
set equal to r.llne, but 1t can be set 
equal to r, which looks like 80 bytes. (By 
the way, this 1s one way to set unlike 
variables equal. Who said you can't mix 
apples with oranges.) A GOSUB 30 passes 

the string to SORTC. 

+ 

A GOSUB 34 tells SORTC to do the 
sorting. The little ON ERROR routine 



deletes leftover files from a previous sort. 
If the file doesn't exist an error occurs. 
The program goes on to line 100 and 
program execution goes on without a hitch. 

The final part of the procedure 
creates the new, sorted file. R 1s set 
equal to bzu.charzu, which Is the sorted 
record from SORTC. The record 1s written 
to the new file. A GOSUB to 25 gets 
another record. As long as funozu 1s not 
equal to 2, there are more records. When 
1t does come back a 2, the sort 1s 
finished. We close the file and end. 

The procedure PAD 1s another way 1n 
which variables can be changed. A string 
of 80 characters 1s passed to PAD. It 
receives 1t as a byte array of length 80. 
The WHILE... DO loop searches for the end 
of the string, which 1s 255 ( that's a hex, 
$FF). Starting at this point the remainder 
of the string 1s filled with spaces. (A 
space 1s hex $20.) A routine like this 
good anytime you want to pad a string. 

If you look at SORT 1n the listing, 
you're probably wondering where are the 
numbers for all those GOSUB's. They're 
added later. In fact 1f you write this 
program, when you exit 1t, 1t will probably 
give you half a dozen error messages. One 
message you'll get a lot 1s #074, that's an 
Undefined Line Number. Don't worry! JBM 
Includes a program called SOTCGEN. You 
give 1t your specifications, like record 
size, the number of keys, do you want to 
sum fields and so forth. SORTCGEN then 
adds the necessary subroutines. Each line 
number is for a particular subroutine. 
Briefly they are: 

LINE SUBROUTINE 

10 Initialize sort 

30 Pass records to sort 

34 Start actual sort 

25 Receive records from sort 

After SORTCGEN 1s run, the procedure 
should be error free. If It Isn't, 1t r s 
N back to the drawing board" (or 1n our case 
the video terminal). 

If you do have SORTC or are planning on 
getting, I think you'll like SORT. To use 
It, 1t 1s best to pack 1t first. Then 
enter 

0S9:sort(V11eVsortf11e") 

You can use any names you like that are In 
your working directory. If they are not, 
be sure to use the full path name. 



26 



'68' Micro Journal 



If writing your own sort routine still 
doesn't appeal to you, good news! The JBM 
Group has another solution. They also 
make a sort routine called GENUS. It 1s a 
stand-alone sort system. It doesn't need 
any other utilities or languages. 
(Remember SORTC needs a Bas1c09 
environment to run.) It 1s written 1n C 
language and compiled Into object code 
that can called from your commands 
directory, /dO/cmds. GENUS does everything 
SORTC does. GENUS can also handle variable 
length records so you won't need a program 
like this months program SORT. 

If you are Interested 1n sort routines 
you might consider these two sorts. If you 
want to write your own routines and add 
your own whistles and bells, you might 
consider SORTC. If your looking for a 
good, all purpose sort routine at a 
reasonable price then GENUS Is your sort. 

Well that raps up another month. Take 
a look at the listing for SORT using the 
JBM subroutine SORTC. There are a lot of 
interesting features. It shows how to 
equate unlike variable types using the 
Basic09 commands TYPE and DIM. You might 
find other uses for procedure PAD. It's 
good for adding spaces to a variable 
string. Also start looking at your files' 
attributes. Not much thought is given to 
them, but they are a very Important part of 
your files. Until next time, have fun! 



PROCEDURE sort 

(* this routine w<11 sort a file *> 

(* with line of varying lengths, *) 

PARAM file l.ffle 2:STRIHG[32] 
TrPE recor?-lfne:TTRIN$U0] 
DIM r:rccor4 
DIM InpatJi.outpeth: INTEGER 

(♦ read t*e file to be sorted •) 

OPEN #1npatri,f11e 1:R£A0 
€0SUB 10 \REM Initialize workspace 
VHIIE *OT{E0f(#1npath)} DO 

READ #1npitri,r.l1ne 

RUN pad(r.lfrw) 

axu.cfctrzut-r 

fiOSUB 30 \REH five record to sort 
EIOVHIIE 
CLOSE Unpatri 

I* start Jta's tort routine *) 

SOSUB 34 

(♦ delete i»\y old sorted files *) 
ON ERROR GOTO 100 
DELETE flit 2 
100 ON ERROR 



PROCEDURE pad 

(* this routine will add trailing 

(* blanks to a string 

PARAA 5(80): BYTE 

DIM 1: INTEGER 

QIH t: BOOLEAN 

(* look for tlve end of the string 
(• and add spaces 1f neccessary 
1:-1 

tr-fALSE 
WHILE K-80 00 

IF s(f)»?55 THEM 
t:«TRU£ 

ENDIF 

IF t»TRUE THEN 

ENDIF 

1:-U1 
ENONHILE 
END 



(* we write an output file *) 

CREATE #otitpatfi,f11e 2tWRITE 

WHILE funozu<>2 00 TfcEM Z Deans eof 

r:«bzu.cherxu 

r.l1ne:*TRlKJ(r.M*e) 

WRITE #oulpath,r,11ne 

GOSUB 25 \REM get another Hne 
ENOWHILE 
CNO 



CoCo User Notes 

A Word From A Sponsor or Two 

— or — by Carl Kann 

A Fast Fling Around CoCo'8 
Garden of Delights 

Let's make this column short and 
sweet. First some reviews, then some news, 
and then a little "how to use". Here 
goes- ♦ . 

First review: the Uninterrupted Power 
Source by Dynamic Electronics, Box 896, 
Hartselle, Alabama. 'Phone is (205) 773- 
2758. 

The UPS is a dandy idea. Those of us 
who use low-end, high-performance micros in 
an industrial environment will especially 
appreciate what the UPS does for data 
reliability. As it happened, 1 had lost an 
entire section of a machine manual 1 was 
composing the day before the test unit 
arrived via (appropriately enough) UPS. I 
installed the device the very next morning. 

The UPS consists of a 6 volt, 2.6 
ampere-hour sealed rechargeable battery. 
It measures 5 1/4 inches wide by 2 5/8 
Inches high byl 5/16 inches thick. A 
compact voltage and charge-rate regulator 
is attached to its "top" - that is, to the 
surface from which the terminals protrude. 
A cutout switch (to allow the user to 
power CoCo down) and a "system active" LED 
are also wired to the unit. Lead length is 
just right. 

The UPS performed exactly as advertized 
in my old grey CoCo 1. 1 found that 1 
could, for example, unplug the machine 
(with wordprocessor and text Installed) for 
up to an hour and a half, plug the machine 
back in, and return to editing as though 
*j nothing had happened. It was wonderful! 
The battery fit under my "chiclet" keyboard 
just fine, too. 

Ah, but that's the rub. 1 up and 
*} spent eighty-odd clams for a new keyboard. 
Guess what had to be removed to make room 
for the new keyboard? Right - the UPS. 
Darn. Then I dropped the new keyboard 
across the gap between the exposed 110— 
volt points on my faithful old beast's power 
supply and her CPU. (That'll teach me to 
follow my own rules - thank God my disk 
controller wasn't plugged inl) Blew every 
chip on the board. Had to drag out my 
reserve unit - a beige CoCo 2 with a 
different keyboard. Sure enough - the UPS 
wouldn't fit at all under the keyboard of 
the new unit. Tough luck. It was a bad 
day, anyway. 

Ratings: In "D", "E" t and TDP-100 CoCos, 
a 99* The unit is well-constructed and 



68* Micro Journal 



29 



should last as long as the machine It's 
Installed in. It Installs easily and fits 
{albeit tightly) under the keyboard as it 
should. CoCo 2 owners: for you, maybe 50* 
If you are clever and careful, the UPS 
could be mounted in a project box, and 
connected via a BNC or similar locking 
connector to your machine's power supply. 
The convenience of having a pre-englneered 
module to work with might just make the 
purchase worthwhile. 

And now, gather 'round, friends. 
Riddle me this - what runs on a Color 
Computer, is a genuine creative tool, and 
is NOT a new wordprocessor or the latest 
megawhlzbang programming language from the 
Zarneywhoop Group? Well, whatever you 
guessed, it's probably wrong - unless you 
guessed the Spectrua Adventure Generator 
from Spectrum Projects. 

So what does an Adventure Generator 
do? Think of it as the link between your 
fingers and a universe of your own 
creation. The Adventure Generator enables 
you to compose an infinite variety of text 
adventure games (in MACMINE LANGUAGE, no 
less!) which may be saved to (and run from) 
either tape or disk. This is done through 
a number of BASIC source code generators 
and a machine-language runtime package 
which is united with the composer's code at 
the time of compilation. 

The package Includes the necessary 
tools with which both the traditional 
silent adventures and "talkies" may be 
composed. (Talkies require the Spectrum 
Voice Pack or similar device and a 64K 
machine.) Yes, you DO have to plan ahead 
and move very carefully while using the SAG 
system - but the documentation is quite 
clearly written for the non-programmer. 
(All you really need to know is how to 
minimally use a CoCo disk drive system.) 

SAG enables the user to specify up to 
70 verbs (or 400 bytes, whichever happens 
first) per adventure. (The average is said 
to be 50.) Up to 255 rooms (2800 bytes), 
510 text screen responses to the player's 
input (8600 bytes), 255 objects (3100 
bytes), unlimited Help Messages (well, 
"nearly" unlimited ... ), and 255 general 
purpose condition flags (Is the door 
locked? Is the gun loaded? Is the 
Creature from the Shocking Cesspool still 
as smelly as before?) may be had. Up to 
700 program lines may be compiled per 
adventure. (8600 bytes for a silent one, 
7680 for a "Talkie".) 

Bulldng an adventure has always been a 
complex process. SAG allows the composer 
to forget about the coding and therefore 

30 



to concentrate on the structure of the 
adventure itself. The manual strongly 
encourages the beginner to acquire 
systematic habits from the start. (A 
wordprocessor is suggested as an aid to 
creativity during this stage of the 
process. I agree. Whoever said you have 
to be a genius to do creative work on a 
keyboard was full of hawg jowls.) You must 
"lay out the scene" for the computer, 
define the objects to be found along the 
way, figure out what may (and may not) be 
done with them, when, where, and in what 
combination. You must define what words 
the player may use (and the computer may 
recognize). You still have to develop your 
style and make decisions. The difference 
is that with SAG on your side, that's ALL 
you have to do- No more struggling with 
tortuous if . . . then. ♦ .gosub. . . etcetera in 
miles of labryn thine BASIC code. Instead, 
SAG provides you with a "room-by-room" 
listing (hardcopy only; printer required) of 
every location in the scenario and 
everything that is and can happen there- 
Clear, concise, and accurate. Who could 
ask for more? 

I could - but you knew that already. 
The manual (which is pretty well printed, 
except for the sample Adventure listing, 
which was too wide for the paper) deserves 
better binding than the single staple in 
the corner. The system as delivered does 
NOT allow the compiled Adventure to be 
written to a secondary drive, thus 
requiring that it be written back to the 
system disk. (That's quite all right for 
single-drive users, of course, and the 
system files themselves are written in 
BASIC. I think (don't know) the whole 
thing could be redone for output to a 
second drive.) 

All that notwithstanding, I rather like 
the Spectrum Adventure Generator. It 
appears to be bug-free and well thought 
out. It certainly is a laborsaver as well 
as a genuine creative tool. I'd rate it 
about 90 overall. It could grow on me. I 
don't think I'll tire of it very soon. 

By the way, neither does Spectrum 
Projects. In fact, the company sells a 
one-time license (for $50.00) which 
entitles the SAG user to market a 
completed creation commercially. (Spectrum 
will evaluate your product for saleablllty, 
of course!) I wonder what sort of a deal I 
could cut with Doug Addams to adventurlze 
his "Hitch-hiker's Guide to the Galaxy" 
series? It's the perfect raw material for 
this sort of thing, and I won't be miffed if 
someone else beats me to it... Ask your 

68* Micro Journal 



local library and/or bookstore. You'll see 
what I mean. Tally ho! 

Next item: a word about Star Kits 1 
STAR-DOS PLUS (available from Southeast 
Media - see Adv. this Issue) for the Color 
Computer. I've been working my old grey 
CoCo out with an advance copy, and I am 
genuinely impressed. It is a real, live, 
whizbang of a DOS. It appears to run 
everything that runs under FLEX (for 
example, STYLOGRAPH is right at home) with 
ease. It allows any mix of 40, 80, and 
Hard Disk drives up to the capacity of your 
System. (Up to 255 tracks may be 
formatted on BOTH sides of the platter, 
assuming your drive has that many!) It 
comes with a full complement of file- 
handling and maintenance utilities. I 
haven't used it much yet (have to buy a 
bunch of disks and a new disk tub before 
proceeding) but I must say this: STAR-DOS 
PLUS may in fact be the best non-ROM Disk 
Operating System ever to be run on a CoCo. 
It's compact, powerful, and extremely 
flexible. I'll keep you posted. 

Last item: Spell N' Fix 2 for the Color 
Computer, also from Star-Kits. I've given 
the 40,000 word version a real workout this 
month. I tried to use VIP Speller to 
proofread the text of a technical manual I 
had written, only to find out that the 
dictionary didn't really have the "technical 
background" that would qualify it for the 
job. Spell N' Fix 2, on the other hand, 
does. VIP Speller failed to recognize so 
many common technical words, I wound up 
telling it to ignore MIS-SPELLED words out 
of sheer reflex! Then I tried Spell N' Fix 
2. The difference was amazing. Its 
memory-resident (and easily-edited) 200 
word "core dictionary" is machine-language 
fast. The 40,000 word main dictionary is 
well-compressed, and fits on a 35-track 
disk with room to spare. All 40,000 words 
appear to be exceptionally well-chosen. 
The result7 I caught and fixed MORE 
ERRONEOUS WORDS with Spell N' Fix 2. 

Spell N' Fix 2 is available for free 
(YES! FREE!! REALLY!!!) from Star-Kts. 
(See the ad in this issue.) You get a lot 
more than just the simple spelling checker, 
though. You actually get TWO versions of 
the program. Spell N f Fix 1 is included 
bacause it contains advanced features that 
will be of real interest to the serious 
programmer. A "bit image manual** (in 
Telewriter ASCII text format) is included 
on the disk, as is the 20,000 word original 



Spell N v Fix dictionary that was making T em 
drop their dentures long before there was 
anything else available at all. Just send 
in a disk to receive it all* 

Well, almost all. Notice that there 
seems to be a catch. Actually a few 
catches. First, there is a great deal 
more to Spell N v Fix than can be put into a 
brief, print-i t -yourself manual. (The 
manual-on-a-disk tells you as much.) 
Second, the "freeware" version only includes 
the 20,000 word dictionary. Third, tha 
program asks you to send a contribution to 
the author every time you boot it up. 
Fourth, the full manual (very well printed 
and bound with a lie-flat GBC spine) and 
the other 20,000 words will cost you at 
least fifty bucks. Fifth, there IS a way to 
make Spell N r Fix 2 stop asking you for 
money. (It even will occasionally do so in 
the middle of a spell-checking run!) It's 
in the fifty-dollar manual. And I'm NOT 
telling! Why? Simple. Spell N' Fix is the 
best darn spelling checker on the market 
for the CoCo - and I've tried them all. 
(The Shack's idea of a spellchecker is so 
primitive I hesitate to even mention it.) 
Spell N' Fix 2 is very easily worth the 
$50.00 asking price for the 20,000 word 
version alone. $75 to $100.00 would be 
more in line with its features and 
performance. 

Comparable products running on 
schizoid Big Blue machines (and their 
brain-damaged clones) cost twice as much, 
and don't allow half as much editing and 
customization as Spell N' Fix 2. I tell 
you, we've got it better than we think. (If 
you don't believe me, go shopping for 
computers. You'll come back home to CoCo 
real fast.) Spell N' Fix 2 rates 100+ in my 
little gray book. Try it. You'll come back 
for more, and be glad you did. 

Tip of the month. Next time you have 
lots of number-crunching to do, insert an 
EXEC 320 into your BASIC number-crunching 
program instead of scotch-taping that silly 
little piece of cardboard to the keyboard. 
You know - the one that says, "DATA 
PROCESSING IN PROGRESS! DO NOT TOUCH!" in 
Magic Marker across its face, right? The 
BASIC program will still run, but the 
keyboard will be completely disabled. 
(Press <RESET> to recover.) I don't know 
why it works, but work it does. 

It's late at night, and there's some 
distance to drive before I sleep. Gotta 
gol Until next month... 



68' Micro Journal 



31 



Using FLEX/Star-DOS 

by Troy Brraley 

I'd like to welcome all of the ex-Color 
Micro Journal readers to '68' Micro 
Journal. I imagine that most of you are a 
little confused about the non-CoCo coverage 
that fills the rest of this magazine. 
Don't panic! It is all easy to understand, 
and most of It can be useful to you If you 
have a disk system with either FLEX, STAR- 
DOS, or OS-9. 

If you don't already have one of those 
operating systems, you may want to buy one* 
In this series of articles I hope to 
provide enough information about FLEX and 
STAR-DOS to help new FLEX/STAR-DOS owners 
learn how to use their systems, and also to 
help prospective buyers of those systems 
decide if they will enjoy using them. Ron 
Voigts is writing a column on BASIC OS-9, 
so I will concentrate primarily on FLEX and 
STAR-DOS. 

A NOTE ABOUT STAR-DOS 

STAR-DOS is a FLEX compatible 
operating system marketed by STAR-KITS. It 
was developed with an eye towards being 
able to use existing applications software 
while providing some improvements over 
FLEX. Any FLEX software you buy will also 
run on STAR-DOS- From here on in I will 
refer only to FLEX since that is the system 
I use, but anything I say applies equally to 
STAR-DOS, other than possibly some minor 

syntax differences. 

WHAT IS FLEX? 

FLEX is an Advanced Operating System 
(AOS). It provides a standard environment 
for 6800 and 6809 based software to run 
in. This standard environment Includes a 
well documented set of system calls that 
will allow programs written using them to 
run on a variety of 68xx based computer 
systems. 

These standard system calls perform 
the same function (open a disk file* display 
a character, report an error, etc) on all 
FLEX systems. While each computer may use 
different input/output devices your FLEX 
based software doesn't care, since FLEX 
works the same on all 6809 systems. All 
you (or your FLEX supplier) needs to do to 
get FLEX running on a new 6809 based 
machine (like the CoCo) is to write a few 
input/output drivers and patch them into 
FLEX. 

The only requirements for running FLEX 
on a CoCo is 64K of RAM and at least a 



drive 0. Most any disk system will work 
with FLEX since it uses no DISK BASIC ROM 
routines once it is booted. I use a J&M 
controller with JD0S 1.11. I have 
experienced no problems using FLEX with 

this system. 

WHAT GOOD DOES THIS DO HE? 

In plain language this means that you 
can probably run any of a number of 
excellent programs written for 'big' 6809 
systems (GIMIX, SWTPC, HELIX, etc) on your 
CoCo. This opens up a whole new world of 
options for the CoCo owner. Examples of 
software available for the CoCo running 
FLEX Include: the DYNACALC and TABULA RASA 
spread sheet programs, the STYLOGRAPH, 
SCREDITOR III, and DYNASTAR/DYNAFORM word 
processors, at least 2 PASCAL compilers, 2 
or three C compilers, COBOL, BASIC, FORTH, 
3 spelling checkers, disk sort/merge 
utilities, sophisticated terminal programs, 
business accounting packages, payroll 
systems, and so on. 

Of course this software is not free. 
FLEX can be purchased for prices ranging 
from (roughly) $50.00 up to $150.00. Each 
implementation has its good and bad points. 
The F-MATE conversion sold by DATACOMP is 
the first (and, according to several 
Independent CoCo software & hardware firms 
that I've talked to, the best) version of 
FLEX for the CoCo. 

A TALE OF TWO FLEXES 

There are three or four versions of 
FLEX for the CoCo, but only two are in 
widespread usage. These are the F-MATE 
conversion from DATACOMP and Frank Hogg 
Labs (FHL) FLEX. Both cost roughly the 
same and seem to be liked by their owners. 

Unfortunately, while FLEX is supposed 
to be a STANDARD operating system, there 
are a few hardware dependent differences 
that can cause a few problems for existing 
FLEX software. Fortunately many FLEX 
software authors have special versions of 
their software available for popular 
systems (such as the CoCo). 

The only differences I know of between 
F-MATE and FHL FLEX are the video drivers 
for the hi-res screen display and double 
sided disk formatting. The only types of 
software that bypass the normal FLEX 
input/output routines for the screen and 
keyboard are full screen oriented programs 
such as Word Processors and Spread Sheet 
programs. I am writing this article using 
STYLOGRAPH from Stylo Software Inc. on a 
CoCo using the F-MATE FLEX system. STYLO 



32 



68* Micro JournaJ 



came with video drivers for both FHL and F- 
MATE FLEX so I would have no problems using 
it with either system. If you aren't sure 
if a piece of FLEX based software will run 
on your CoCo, feel free to ask your 
supplier. 

The incompatibility of double sided disk 
formats should cause no problems since a 
"standard" FLEX disk is single sided single 
density with 35 tracks. Any special CoCo 
versions will be sold on single sided double 
density 35 track disks since that is the 
"standard" FLEX/STAR-DOS format. Double 
sided disks are a user option and don't 
really bother software once it is running 
on your computer, but you may have some 
trouble sharing data files with friends 
that have a different FLEX conversion if 
you do have double sided disks. 

WHY WOULD I WANT FLEX? 

There are a few reasons why you might 
wish to buy FLEX, STAR-DOS, or even OS-9. 
The most obvious one is that you want to 
play with an AOS. I suspect that both 
FLEX and OS-9 can be equally fun to play 
around with. 

You may want to run some serious 
business software such as a payroll or 
general ledger system. There are several 
such systems available for FLEX. OS-9 is 
still a young operating system and it won't 
have too much business software available 
for at least another year or two (although 
E-BASIC provides a means of running the 
FLEX-Based BASIC Software under OS-9). 

You might want to learn another 
programming language. Both FLEX and OS-9 
have several languages available. I would 
choose FLEX over OS-9 in this situation 
simply because FLEX runs with no trouble on 
a single drive system. Unless you need, or 
want, to learn Basic09, I would lean 
towards FLEX. 

OS-9 is a UNIX-like operating system. 
Every three months or so one of the other 
computer magazines (hobby or business) 
devotes an issue or two to UNIX and the C 
programming language. Somebody out there 
feels that UNIX is the wave of the future. 
If you agree with them you should get OS-9. 

tfBAT f S NEXT 

Next month we'll start working with 
FLEX in earnest. I'll explain how I 
installed FLEX on my system and give 
examples of just how powerful FLEX is. 

Until then. . . 



by Robert L. Nay 

The power of the 68000 is amply 
demonstrated by its overwhelming domination 
of the larger CAD/CAM and UNIX-Oriented 
Computer Systems, but there has been very 
little available for the individual User 
that would allow him to "get in on the 
Ground Floor" with a 68000-Based System in 
the lower priced Personal Computer System 
range. In the good-old-days, the hobbyist/ 
experimenters would have gathered around 
an inexpensive Single Board Computer System 
and, in the process of working with it, 
would have developed an Operating System 
and a bunch of Software to go with it. 
Sadly, this did not happen when the 68000 
first appeared; possibly because the 
Personal Computer Industry has matured to 
the point that there are few pioneers left, 
or maybe due to the low number of inexpen- 
sive 68000-SBC , s that were produced, or, 
probably, due to a combination of both 
factors. Our tastes now require at least 
a Disk System, and a decent Graphics 
capability is becoming a "Standard" 
requirement. 

There was a lot of initial interest in 
the Sinclair QL Computer, as it was one of 
the first to offer a "minimally acceptable" 
System, but it has been delayed to the 
point that most of that interest has 
dissipated, and it may find it hard to 
carve a niche in the Industry. Atari is 
making noises about a $1000 68000-Based, 
512K, Color Computer System which is now 
scheduled for release in June, and there 
are rumors of other similar Systems that 
MIGHT show up in the next couple of years. 
But at this time, Apple appears to be in 
the best position to nab a large segment 
of the 68000-Based low-priced Computer 
Market with their "Apple 32" Product Line, 
which was introduced last year. 

Several factors make the Apple 68000 
Systems attractive. Apple is a real 
"Market Force" in the Personal Computer 
arena, and is attempting to become one in 
the Business area. They are large enough 
to generate a "Standard" all by themselves 
(witness the IBM PC Industry scramble to 
copy the Apple-initiated Windows User 
Interface, or the MacPaint copies). The 
new Atari System will have a User Interface 
similar to the Mac, and it has been hinted 
that it will not be hard to port Macintosh 
Application Software over to the Atari 
Computer. With Apple presently gearing up 



'68' Micro Journal 



33 



their production of Macs to 100,000 per 
month, a potential Mac Purchaser Is 
assured that there will be Macintosh's 
around for a while, and that there will be 
plenty of support for his Investment. 

The major products In the "Apple 32" 
Product Line presently Include the 
Macintosh Computer Systems (the Apple Lisa 
2 and Lisa 2/5 are being phased out, and 
the Lisa 2/10 has been renamed the 
Macintosh XL), the recently released 
LaserWriter Laser Printer, the yet to be 
released FlleServer Network Controller/File 
Management System, and numerous periph- 
erals that go with the overall System. In 
addition, Apple has also announced their 
AppleTalk Networking System, which allows 
up to 32 Macs, LaserWriters, ImageWrlters, 
etc., to be Interconnected at a cost of 
around $50 per connection to the Network. 

Does the Macintosh offer "the" 
Solution? Obviously not; no single Computer 
System will fill every need (In spite of 
IBM's attempts to the contrary). Maybe the 
Macintosh "User Interface* 4 Is not the Ideal 
General-User Interface, but our experience 
here Indicates that It Is MAGNITUDES better 
than a powerful "Unix-like" Interface for 
the vast majority of the Computer Users In 
the world who have no concept of a "bit" or 
"byte**, or of a "sector", or a "path", 
"field", "record", and on and on. These 
"Computer Users" want a Computer to SOLVE 
their problems, not create more problems by 
having to learn how to "think like a 
Computer" to use the Operating System, or 
learn a Programming Language, or be able 
to use a Data Base Management package. 
THEY need a Computer that "thinks like 
THEY do 4 ', not one that thinks like a 
COMPUTER I 

The Mac Interface may be a little 
frustrating to those of us that understand 
Computers and LIKE the power and flexi- 
bility of something like FLEX/STARDOS or 
the Unlx-orlented Systems such as OS-9, 
but most Computer Users need something to 
allow them to get an application up-and- 
runnlng with as little computerese as 
possible. Why should a Business Computer 
System In a small office require a 
"Computer Support Section**? Why can't 
Retailers In general sell a simple Computer 
System to a Business Customer without 
requiring MANY HOURS of explanation about 
how to do this, or why you have to do that 
before you can do this, etc»? Why should a 
Retailer have to pass up a potential Sale 
just because he knows that that customer 



would not be able to use the Operating 
System on the Computers that he sells; or 
because there Is not a "canned" solution to 
their problem (even though he knows that 
his Computer System could do the job IF 
they would take the time to learn the 
"System" and how to use the Software that 
IS available for It)? 

Apple's concept with the Macintosh 
Computer SYSTEM Is to provide a System 
that "thinks" like a normal user, and a 
System that can expand as the User's needs 
grow. Rather than provide a "Smart, SUPER 
Computer" that will do anything that a User 
might ever want to do with a Computer 
System, they are making each unit of the 
System "stand on Its own". If a User does 
not need a Laser Printer, why should he 
have to purchase a Computer that has the 
Memory and Power to develop a 300 dot/In. 
drive for that Printer; why not let the 
PRINTER do that, and put the "smarts" In 
IT? Since most "Office Units* consist of 5 
to 2 5 people working on approximately the 
same thing, why not have a simple, 
Inexpensive "Network" for up to 32 "high- 
performance peripherals", each doing Its 
own thing? The Macs would provide the 
"User Interface" to the Information In the 
Network; the LaserWriter could be the 
Network's "System Printer". A "smart File 
Server" with a 20 to 40 Meg Hard Disk could 
handle such things as communicating with 
Mainframe Networks and tying other 32-Unlt 
Networks together, provide file transfers, 
electronic mall, print spooling, file 
management, and process multiuser appli- 
cations when the User needed these 
capabilities. The whole Apple "Office 
System" concept Is built on a "pay as you 
go" foundation. 

There seems to be a prevailing 
impression that there Is a lack of Software 
Support for the Macintosh. The Immediate 
reply to this statement Is; relative to 
WHAT? There Is already several times as 
many Programs available for the Macintosh 
as there are for the whole SS-50 Bus 
community. There are more, and MUCH more 
useful, Programs available for the Mac now 
than there was for the Color Computer, for 
example, a year after IT was released. 
But, obviously, there Is not as much 
available NOW for the Mac as there Is for 
the IBM PC, or the UNIX environment. 

Apple states that there are now "more 
than 300 Software Packages'* available for 
the Mac. There are a few holes as of 
today (for example, there Is next to no 



34 



€8' Mtcro Journal 



fUi HS11T71 mm t¥i*y$39 mc*4$t 




SPECIAL 



1 



Bnaaaao a a 



Naa* gaa caa raa 
T5C ZBH5IC Programs Compiled to Asrob. Lang., 

under 0S-9 M . CoCo 05-9. or FLEX™ roith 



'S TOLL F«B TILM SSI 414 PVT ITH 

1 800-338 



9-6800 <JR 

JfctA BAA? 
% $AAIA 

5900 Cassandra Smith Rd. 
Hixson. TN 37343 

for informellon 
call (615> 842-4601 

CoCo OS*9* FLEX" 

S.FTaJflRE 



V K— BH5IC under 05-9 and FLEX mill nouj compile 
TSC BASIC, XBHSIC, and XPC Source Code Files 

Iv — HHSlU now mokes the multitude of TSC NBRSIC software 
ouolloble for use under OS-9, Tronsfer your fouorlte BASIC 
rrogromi to OS-9, compile them* Rssemble them, ond 
Q3LJEK3CD — usable, multi-precision, familiar Softmore Is 
running under your fouorlte Operating System! 

J& K — BHSIC (IS-9 or FLEM. H-clodln g the ASM assembler 

$199.00 



Limited time SIPBOAIL offer! 



fc 



South East media and Llogd 1/0 is offering Q&-3 

4j£ K — BHSIC Compiler w/OSM Assembler AMD 
— F FLEX to OS-9 Transfer Program 

BOTH for * 199.95 

Offer ONLY valid when ordered as a Package from South East Media 



SPECI 



m 



ft* tic 09 



tnt Mil V*V 



2^ FlEI Software Jr 



by Dale fruCkett — An excellent Boot on using 0S-9. Oriented 
towards using the powerful latfcO* hinTr— If laeauaee. It 41 to 
contains a lot of good information on *r1*f OS-9 1n general, 

Jiomally 113.95 
Seecial *0tf only S1S.00 



TSC 
TSC 
TSC 
TSC 
TSC 
TSC 
TSC 
TSC 



"He* Utilities* 

'Sort Merge* 

'6609 Basic* 

'I* tended Basic" 

'DeBug* 

'FLtx Diagnostics" 

'Te*t Processing System* 

'68000 Cross Assembler" 



W4S 
was 

Wat 



was 

was 



S7S.00, 
S7S.00. 
S75.00. 

.100.00. 
S7S.0O, 
S7S.00. 
S7S.00. 

S2S0.00, 



only 
I only 
I only 
1 only 
1 only 
! only 

only 



ftf.OQ 
*4-.«0 
T4C.M 

190.00 
Stt.Oi 

141.00 
145.00 



MM only 1199. 95 




VtSA 



A44 IX 0,1. A, 

(•U. 11.30) 

[A44 3X Surface -era*** 

10X Alt r«r«l|m 



"FLEXisai*4Oem4rk0l Tmc*»TC-rf Syi***^* Con**.*** 
'059 is a iraOenwk 0* Mcrowore 



1 1 at i 1 ** 1 



V 






nMjndra Smith Hrt 
on. TN 37343 
5) H4?-4£0l 



S.FTUIfiR. 



%• liability 

r • FLEX, OCT - Color Computer FLE3 

O • OS-9, CCO - Coior Computer OS-9 

O - XMMTUm 

00> ■ Color Computer M*k 

OCT • Color Coup iter Tape 



68' Micro Journal 



111 Pf«am« Sfioicify Yonr Operating Systes 1 Disk $!*• Ill 



35 



HtH PISKtUEWITH i¥i*f $S0M*CHAS£ 



*S TOLL FRCE TELEI 551 4J4 PVT 1TH 

1-800-338-6 800 jjg 

5900 Cassandra Smith Rd. 

Hixson, TN 37343 

for information 

call (619) 842-4601 

CoCo OS-9' - rLRX >M 

SOFTWARE 




-HSSEmBLEHS]] | 



ASTRUK09 from Southeast Media — A "Structured Assembler for the 
6909" which requires the TSC Macro Assembler, F. CCF - $99.95 

Macro Assembler for TSC — The FLEX STAJBARD Assombler. 

Special »- CCF $JS,00; F $50.00 

OS* Extended 6809 Macro Assembler from Lloyd i/o. -- Provides local 
labels, Motorola S-records. and Intel Hex records. Can generate 
05-9 Memory nodules under Tilt. FLEX, CCF, OS-9 $99.00 



telocatlitg Assembler w/L1nMn« Loader from TSC. 
the C and Pascal Compilers, 



Use with many of 
F.CCF $150.00 



MAC*, by Graham Trott from ktfndrusfc Micro Attest « Co-ResTdent 
Editor and Assembler; fast Interactive A.L. Programming for snail 
to medlum-sfzed Programs. F.CCF - S 9ft. DO 

TRUC CROSS ASSEMBLERS from Computer System* Consultants -- 
Supports 1802/5. Z-80. 6800/1/2/ 3/8/11/MCU, $804, 680S/HC0S/ 
14680S, 6809/00/01. 6502 family. 8080/5, 80*0/1/2/ 3S/C3S/39/ 
40/48/C48/49/CK9/50/8748/49. BOJ1/5L/8751. and 68000 Systems. 
Assembler and Ifst1n9 formats same as target CPU's format. 
Produces machine Independent Motorola S-Text. 

FLEX. CCF. OS-9. UnlFtEX each * $50.00 

any 3 - $100.00 

the complete set (1iKlud1n9 tike C Souret) • $200.00 

XASM Cross Assemblers for FLU from CmvouiM Ltd. — This set of 
6800/1/2/3/5/8, 6301. 6S02. 8080/S. and ZBO Cross Assemblers 
uses the familiar TSC Macro Assembler Command Line and Soruce 
Code format. Assembler options, etc., In providing code for the 
target CPU's, Complete set, FlEx only - $150.00 

CRASMB from Lloyd I/O -- 8-81 1 Macro Cross Assembler with same 
features as OSM. generates OSH Macros which cross-assemble to 
6800/1/2/3/4/5/8/9/11. 6502, 1802, 8048/80/85, Z-8/80. Supports 
the target chip's standard mnemonics and addressing modes. 

FLEX, CCF, OS-9 Full package -- $»1.00 

CRASMB 16. J* from Lloyd I/O — Cross Assembler for the (8000. 

FLEX. CCF. OS-9 SM9.00 




Add IX O.S.A. 

<pla. 52.SO) 

Add SX Sutfact for* I in 

101 Air Port id 



•FLEX is a iradomartt c4 Tecrtrecd Sysieros Consultants 
*OS9 & a trademark of Microwave 



DISHSSEII1BLEHS 



J 



SUPER SLEUTH from Computer Systems Compliant* — Interactive 
Disassembler; extremely POMERFULl Disk File Blnary/ASCff 
Examine/Change. Absolute or FULL Olsassembly. XREF Generator, 
Label "Name Changer", and Files of "Standard Label Names" for 
different Operating Systems 



Color Computer 

CCO (32* Req'd) Obj. Only $49.00 
CCF, ObJ. Only $50.00 
CCF. w/ Source $99.00 
CCO. ObJ. Only $50.00. 



55-50 SUS (all v/ A.L. Senrce) 
F. S99.00 
U. $100.00 
0, $101.00 



orMAMITE ♦ from Compote r Systems Center •- Excellent standard 
"Batch Mode" Disassembler. Includes XREF Generator and 
"Standard Label" Files. Specfai OS-9 options w/ OS-9 Version. 

CCF, 0bj. Only $100.00 CCO, ObJ. Only $ 59.95 

F. ' " $100.00 0. " ' $150.00 

U, ■ * $300.00 



FHDGHHmminG(LHnGUHGES 



Pl/9 from wind rush Micro Systems — ty Graham Trott. A combination 
Edttor/Compiler/Debugger. The Single-Pass Compiler supports 
large Symbol Names; Variable Types; Pointers; Control Structures; 
Stack, A-. B-. and D-Reglster manipulation; etc. Includes 
Source-Oriented Debugger. F, CCF - $198.00 

RKIMStCAL from HM"*1ca1 Oevolommoflts — How supports Real Rmmbert. 
"Structured Pro9ramn1ng" WITHOUT losfng the Speed and Control of 
Assembly Language) Single-pass Compiler features unified, user- 
defined 1/0; produces RONable Code; Procedures and Modules 
(Including pre-compfled Modules); many "Types" up to 32 bit 
Integers, 6-dfglt Real Numbers, unlimited sized Arrays (vectors 
only); Interrupt handling; long Variable Names; Variable 
Initialization; Include directive; Conditional compiling; direct 
Code Insertion; control of the Stack Pointer; etc. Run-T1me 
subroutines Inserted at called during compilation. Normally 
produces 101 Jess code than PL/9. F and CCF - $195.00 

C Compiler from Wlndrush Micro Asians by James McCosh. Full C for 
FLEX except bit-fields, including an Assembler. Requires the TSC 
Relocattng Assembler If user desires to Implement his own 
Libraries. F and CCF - $295.00 

C Compiler from [ptrol -- Full C except Doubles and Bit Fields, 
streamlined for the 6809. Reliable CoapHer; FAST, efficient 
Code. More UNIX Compatible than most. 

F. CCF. and - $375.00 U - $425.00 

PASCAL Compiler from Lucldato -- ISO Based P-Code Compiler. 

Designed especially for Microcomputer Systems. Allows linkage to 
Assembler Code for raaxtmum flexibility* 

F and CCF r - $190.00 F ** - $205.00 

PASCAL Compiler from OmooaSoft — For the FROSTSSJORAL; ISO Based. 
Native Code Compiler. Primarily for Real-Tfme and Process 
Control applications. Powerful; Flexible. Requires a "Motorola 
Compatible" Relocating Asmb. and Linking Loader. 

F and CCF - $425.00 One Tear Malnt. - $100.00 



it 



t-BASIC from LLOYD I/O -- A "Native Code" BASIC Gommller which Is 
now Fully TSC ZIASIC compatible. The single-pass compiler 
compiles to Assembly Language Source Code {which may be 
assembled by the laclmded OSM Assembler, or by the CIASMb Cross 
Assemblers). Conditional assembly reduces Run-time package. 

FLEX, CCF, OS-9 Compiler vita) OSM Assembler - $199.00 



CJttJOCX COfJOL from ComposaftM Ltd. — Supports large subset of ANSU 
Level 1 COBOL with many of the useful Level 2 features. Full 
FLEX File Structures, Including Random Files and the ability to 
process Keyed Files. Segment and link large programs at 
runtime, or Implemented as a set of overlays. The System 
requires S6K and CAN be run with a single Disk System. 

FLEX, CCF; Morally $199.00 
Special lecrodectory Price (while In effect! — $9t.*5 

FORTH from Stearns Electronic t -- A CoCo FORTH Programming 
Langua9e, Tillered to the CoCoi Supplied on Tape, transferable 
to disk. Written In FAST ML. Hany CoCo functions (Graphics, 
Sound, etc.), Includes an Editor, Trico, etc. Provides CPU 
Carry Flag accessibility* Fast Task Multiplexing, Clean Interrupt 
Handling, etc. for the "Pro". Excellent "Learning* tool I 

Color Computer 04JLT - $S*.9S 



X "ILL '■« 

nOO 31H-6HOO 



ifAT> e S 



§MT Miftlft 

CoCo Dl *> ' Pit* ' 

SflfTlflM 



Hnion. TN 37343 



mio te-15) Mi 460 i 



AmUmhUlty 

T * FLEX, CC7 - CoJar Computer FLEX 

* OS-9, OCT) ■ Color Computer OS-9 

O ■ UhJFU* 

CO) « Color Computer Disk 

CCT - Color Compter Tape 



36 



III Plots* Specify To»r Op«r«tl»« System i Disk Six* III 



68' Micro Journal 




SDrTWHHElDEVELDPmEnT^ J 



Re*1c09 Xief from Somtheatt Media — TMi taslcOf Cross mtHrr*— 
Utility Is a BaslcOfl Program which Kill produce a "pretty 
printed" listing Kith each line numbered, followed by a complete 
cross referenced listing of all variables, external procedures, 
and line numbers called. Also Includes a Program list Utility 
which outputs a fast 'pretty printed* listing with line numbers. 
Requires B*s1c09 or RunB. 

A CCO obj. only — f39.9S: W Source - (79.95 

Lmcldata PASCAL UTILITIES (Requires LUC [DATA Pascal ver JJ 

XHEF -- produce a Cross Reference Listing of any te*t; oriented to 

Pascal Source. F and CCF - 125.00 

INCLUDE -- Include other Files In a Source Text, Including Binary; 

unlimited nesting capabilities. F and CCF • 52S.OO 

PROFILER -- provides %n Indented, lumbered, "Structogrem" of a 

Pascal Source Text File; vie* the overall structure of Urge 

programs, program integrity, etc. Supplied In Pascal Source 

Co<tO; requires compilation. F and CCF - 125.00 

DUB from Soot toast Media -- A UmlFLEl 'basic* De-Compiler. Re- 
create a Source Listing from UnlFLEX Compile* basic Programs. 
Works w/ ALL Versions of 6809 UMFLEX basic. U - 1219.95 

FULL SCREE* FORMS DISPLAY from Computer System* toe 1*1 1* at s — TSC 
Eateeded BASIC program supports an* Serial Terminal with Cursor 
Control or Memory-Mapped video Ofsplays; substantially extends 
the capabilities of the Program Designer by providing a table- 
driven method of describing and using Full Screen Displays. 

F and CCF - $50.00, U • WS.OO 



jDlSKlUTILITIES 



OS-9 VDIsk from Southeast media -- For Level ! only. Use the 
Eateaded Memory capability or your SWTPC or G1n1* CPU card (or 
similar format OAT) for FAST Program Compiles, CMO execution, 
high speed Inter-process communications (without pipe buffers}, 
etc. - SAVE that System Meaory. Virtual Disk size Is variable In 
a* Increments up to g60K. Some Assembly Required. 
-- Level I OMLT — OS-9 obj. only - $79,95; -/ Source - I149.9B 

0-F from Southeast Media — Written In BASIC09 <rn1ta Source), 

Includes: REFORAAT, a BAS1C09 Program that reformats a chosen 

. amount of an OS-f disk to FVQ Format so It can be used normally 

fMwby FLEX: and FLE1, a BASIC09 Program that doas the actual read 

W or write function to the special 0-F Transfer Disk; user-frtendly 

menu driven. Read the FLEX Directory. Delete FLEX Files. Copy 

both directions* etc. FLEX users use tie special disk Just like 

• ^ other FLEX disk. - I79.95 

COPTHULT from Sootheast Media -- Copy LARCE Disks to several 
smaller disks. FLEX utilities allow the backup of AH aUe dttk 
to any SMALLER slie diskettes {Hard Disk to Hopples, B" to 5*. 
etc.) by simply Inserting diskettes as requested by COPfPJLT. 
Ho fooling with directory deletions, etc. COPVHHtT.CMD 
understands normal 'copy* syntax and keeps up with files copied 
by maintaining directories for both host and receiving disk 
system. Also Includes BACKUP, OV to download any site "random" 
type file; RE STORE, CM! to restructure copied 'random* files for 
copying, or re copy In j back to the host system: and FtCELTmX. OD 
as a "bonus" utility that "relinks" tfte free chain of floppy or 
hard disk, eliminating fragmentation. 

Commie %v1y documented Aasomftty Laftfmtft Soar cm flits leclmdtd. 

ALL 4 Programs {FLEX, B" or 5") St*.SO 

COPYCAT from Lacldite — Pascal HOT required. Allows reading TSC 
Nlnl-FLEX, SSB D0S6B, and Digital Research CP/N Disks while 
operating under FLEX l.D, FLEX 2.0, or FLEX 9.0 with 6800 or 
€809 Systems. COPYCAT will not perform miracles, but, between 
the program and the manual, you stand a good chance of 
accomplishing a transfer. Also Includes some Utilities to help 
out. Programs supplied In Modular Store* Code (Assembly 
Language) to help solve unusual problems. 

F and CCF 5" - $50.00 F 8" - 1(5.00 




A 



A4d IX Q.S 
<»U. S2.30> 
A44 JS |»tf«t« r«r*lc« 
iOX Air r«r«l|» 



•FLEX is a otdttna^ o* Tochncel Systems CortsuHtcis 
"OS9 * a trodevnaik <* Mcrowaxe 



f*££ 9tSK£TT£ WT* £V£M $50 WJCMSi 



^ff TOLL FAtE TILKI 551 aid PVT 1TH 

1 80O338 6800 g* 

5900 Cassandra Smith Rd. 

Hixson, TN 37343 

for information 

Call <«15) B42-4001 

CoCo OS-9' FLIX- 

SflFTUIflRE 



FLEl DISf UTILITIES from Eavmettr System* CamttlteaU — Eight <$) 
different Assembly Language («/ Source Codel Fitx utilities for 
every FLEX Users Toolbox: Cat? a File with Cmt Errors; Toit Disk 
for errors; tommere two Disks; a fast Disk lectern Program; Emit 
Dltk Sectors; LlMeHre Frtt-Cba1m on the Disk; print 01 ik 
[dentlffcatlta; and Strt and Replace the Disk Directory (In 
sorted order). -- PLUS -- Ten XBASIC Programs Including: A 
•ASIC Re sto w ca r with EXTRAS wr "REUUK" like check for mining 
label definitions, processes Olsk to Disk Instead of In Me»*ry, 
etc. Other programs Cmmmara. Merge, or Com rate UPdaUs 
between two BASIC Programs, check BASIC Set Mace Numbers, 
compare ?** tMtqotmctd files, and S Programs for establishing a 
Matter Directory of several Disks, and sorting, selecting, 
updating, and printing paginated listings of these files. A 
BASIC Croat- Reft react Program, written In Assembly Language, 
which provides §n X-Ref Listing of the Variables and Reserved 
Mords In TSC BASIC, XiAStC, and PRECOMPILER BASK Programs. 

ILL Utilities Include Soerct (either BASIC or A.L. Source Code). 

F and CCF - SSO.OfJ 



fcommunicHTions 



CMOOEM Telecommunications Profram from Computer Systems 
Cob ttl teats, lac. — Kenu-trlven; supports Oumb-Termlnal Mode, 
Upload and Download In non-protocol mode, and the CP/H Xodemr 
Chrlstensen protocol mooe to enable communication capabilities 
for almost any requirement. Written fn "C". 

FLEX, CCF, OS-9, UnlFLEX; with complete Source - J 100. 00 

without Source - tSO.QO 

IOATA fro* Southeast Media — A COMPnJIICATIOS Package for the 
UafFLEI Operating System, use with CP/N. Main Frames, other 
UnlFLEX Systems, etc. Verifies Transmission using checksum or 
CRC; Re- Transmits bad blocks, etc. U - SZ99.99 



LUTFTH 



RAPIER - 6809 Chest Program from See earnest Madia — Reoulros FLEX 
and Displays on Amy Type Terminal. Features: Four levels of 
play. Swap side. Point scoring system. Two display boards. 
Change skill level. Solve Checkmate problems fn 1-2-3-4 moves. 
Make move and swap sides* Play white or black. This is one of 
the streatest CHESS programs running on any microcomputer, 
estimated USCF Rating 1600+ (better than most 'club' players at 
higher levels). F and CCF - 179.9S 



*mQmhllity I 

P ■ FLE*. OCT * CoJ^r Computer FLEX 

O - OS-9, CCD » CoCnr Computer OR-9 

If - ItiiFLEX 

CCS - Color Computer a%k 

OCT • Color Computer Tape 




'68* Micro Journal 



Iff Pt«e>sti SpajClfy Voir OFajrtrtlMf Sfatejai 4 Disk Size* 



II! 



37 



mt pmtrn with m*y$s* t¥*c*4te 



<& TOLL FRCC THE* SSI 414 FVT iTH 

1-80O-338-68O0 m 

V £ftiifl 

5900 Cassandra Smith Rd. 
Hixson. TN 37343 

for information 
call (615) 642-4601 

COCO OS-9* FLEX"' 

SOFTWARE 




« 



WORD PHDCESSIDG 



SPELLS "Computer Dictionary" from Semtheatt Media — Owl* 120.000 
mmrdsl look up a word from within your Editor or Mord Processor 
(uHh the SpH.CJD Utility which operates In the FLEX UCS). Or 
check and update the Text after entry; ADD WORDS to the 
Dictionary, "Flag" questionable words In the Text, "view a word 
In context" before changing or Ignoring, etc. SPELLB first 
checks a "Common Mord Dictionary", then the normal Dictionary, 
then a "Personal Mord List", and finally, any "Special Word List" 
you may have specified. SPELLS also allows the use of Smell Disk 
Storaoe systems. 

F and CCF - $129.95 



DHTHlBHSE^IfHCCOUnTinGl 



XOKS from Westchester Applied Bustotss 5** terns — Powerful DBMS; 

K.L. program will work on a sfmfle sided 5* disk, yet Is F-A-S-T. 

Supports Relational, Sequential, Hierarchical, and Random Access 

File Structures; has Virtual Memory capabilities for Ctant Data 

Bases. X9N3 Lemil I provides an "entry level* System for defining 

a Data Base, entering and changing the Data, and producing 

Reports. XOKS Level II adds the POWERFUL "CERERATT facility 

with an English Language Command Structure for manipulating the 

Data to create new File Structures. Sort. Select. Calculate. 

etc. XDMS Level 111 adds special 'Utilities* which provide 

additional ease In setting up a Data Base, such as copying old 

data Into new Data Structures, changing System Parameters, etc. 

XOMS Systen Haemal - $24.95 XDMS 1*1 I - F t CCF - 1129.95 

XW5 Lvl II F • CCF - $199-95 

ZOMS Lvl III - F 4 CCF - (2*9.95 

ACCOURTIM& PACKAGES — treat Plaint Commeter Co. and UmfwrtaT fteta 
Research, Inc. both have Data Base and Business Packages written 
In TSC XBASIC for FLEI, CoCo aEI, and IM1FIEZ. 

Call BOO-laeViMO for more Information 



SCREOITOR III from Vtndritsft Micro Systems — Powerful Screen- 
Oriented £dt tor/Word Processor. Almost SO different co*w»ands; 
over 300 pages of Documentation with Tutorial. Features Multf- 
Column display and editing, "decimal align" columns (AMD add them 
up automatically), multiple keystroke macros, even/odd page 
headers and footers. Imbedded printer control codes, all 
Justifications, "help* support, store common command series on 
disk, etc. Use supplied "set-ups*, or remap the keyboard to 
your needs. Except for proportional printing, this package will 
00 IT ALL! 

6800 or 6809 FLEX or SSB DOS, OS-9 - $175.00 



STYLOGRAPH from Great Plaint Commuter Co. — A full-screen oriented 
WORD PROCESSOR — (uses the Si x 24 Display Screens on CoCo 
FlEX/STAR-OOS. or PBJ Wordpai). Full screen display and editing; 
supports the Daisy Wheel proportional printers. 

SPECIAL CCF and CCO - $99.95, f or - $295.00, U - $395,00 

SPELL fron Great Plains Commuter Co, — Fast Computer Dictionary. 
Complements Stylograph. 

SPECIAL CCF and CCO - $69.95. F or - $125.00. U - $175.00 

NAIL MERtt from Greet Pities Commuter Co. — Merge Hailing List to 
"Form* Letters, Print multiple Files, etc., through Stylo. 

SPECIAL CCF and CCO - $59.95. F or - $145.00. U - $175.00 



JUST from Southeast Media •• Text Formatter developed by Ron 
Anderson; for Dot Matrix Printers, provides many unique features. 
Output "Formatted" Text to the Display. Use the FPRlRT.O*D 
supplied for producing multiple copies of the "Formatted" Text on 
the Printer INCLUDING IHBEDDED PRINTER COMMANDS (very useful at 
other times also, and worth the price of the program by itself). 
"User Configurable" for adapting to other Printers (comes set up 
for Epson MX-30 with Graftraxl; up to ten (10> Imbedded 'Printer 
Control Commands". Compensates for a "Double Hldth" printed 
line. Includes the normal Tine width, margin, indent, paragraph, 
space, vertical skip Tines, page length, page numbering, 
centering, fill, justification, etc. Use with ART Editor. 
Supplied with "Structured Source" (Wlndrush PL/g}; easy to see 
the flow of the program. 

f and CCF - $49.95 



miSCELLHIlEtillSl 



TABULA RASA SPREADSHEET from Computer Systems Comtulteett « 
TABULA RASA is similar to DESKTOP/PLAN; provides use of tabular 
computation schemes used for analysis of business, sales, and 
economic conditions. Menu-driven; extensive report-generation 
capabilities. Requires TSC't Extended BASIC. 

F and CCF - $100.00, U - $200.00 

DYRACALC from Computer Systems Center — Electronic Spread Sheet 
for the 6809. 

F and SPECIAL CCF - $200.00. U - $995.00 

FULL SCREER I*H«T0RT/MR» from Committer Syttemi Consultants - Use 
the Full Screen Inventory System/Materials Requirement Planning 
for maintaining inventories. Keeps Item field file In 
alphabetical order for easier Inquiry. Locate and/or print 
records matching partial or compTete Item, description, vendor, 
or attributes; find backorder or below stock levels. Print-outs 
in 1ten or vendor order. HRP capability for the maintenance and 
analysis of Hierarchical assemblies of items In the Inventory 
file. Requires T9C*s Externa** RASfC. 

F and CCF - SlOO.OO. U - $150.00 

FULL SCREER MAILIRG LIST from Computer Systems CemselUtU — The 

Full Screen Mailing List System provides a means of maintaining 
simple mailing lists. Locate all records matching on partial or 
complete name, city, state, tip, or attributes for Listings or 
Labels, etc. Requires TSfs Extern*** BASIC. 

F and CCF - $100.00. *J - $110.00 

DIET-TRAC Forecaster from Southeast Media — An XBASIC program 
that plans a diet In terms of either calories and percentage of 
carbohydrates, proteins and fats (C P Gt) or grams of 
Carbohydrate. Protein and Fat food exchanges of each of the six 
basic food groups (vegetable, bread, meat, skin milk, fruit and 
fat) for a specific Individual. Sex. Age, Height. Present Height. 
Frane Sire. Activity Level and Basal Metabolic Rate for normal 
Individual are taken Into account. Ideal weight and sustaining 
calories for any weight of the above Individual are calculated. 
Provides number of days and dally calendar after weight goal and 
calorie plan Is determined. 

F - $59.9S, U - $89.95 




f •« tmiptne -• 

Add ?I V.i.h. 

(■Jo. 12. SO) 

Add it S*rr»c« PoT'tlA 

10Z Air TorwXfn 



*FiEx is * looofnark o* Technical Syslems CcnsuOani! 
~OS9 is a lrademajk or M*CfOw«<« 




MvmUmfelDty 

P » FLEX, CCF - Color Computer m* 

O « OS-9, CDO • Color Computer OS-9 

- MhlFLEX 

OCD « Color Computer Disk 

OCT - Color Compter T*pe 



38 



III §>!*»# S|Pm>c1fT TmttJT OfrdmrmYtrnei Sym^ww I Disk Sfi 



til 



'68* Micro Journal 



Accounting Software available yet, and the 
Word Processing Software selection Is 
somewhat limited), but there are other 
Important areas that already have good ln- 
depth coverage, such as Data Base 
Management packages (at least a half 
dozen), 5 **C" Compilers, an Assembler or 
so, several Pascal packages, a couple of 
BASIC f 8, several Communication packages, 
numerous -Utility" packages, etc*, just to 
mention a few. As with most "new" Computer 
Systems, there are a lot of what I call 
"personal enjoyment" Programs available, 
such as Hayden's "stable-, which allow both 
Programmers and Users to begin to "get a 
feel for the Machine". Most Business 
Packages were waiting on the 512K Mac and 
Apple's Network, and these also require a 
lot of "User Interface" re-thinking and re- 
Programming, but they should begin to 
appear in the near future. 

Since the Mac forces Programmers to 
"Think like a USER" rather than like a 
Computer Expert, and because the Macintosh 
is "Event Driven" rather than "Application 
Driven", it has turned out to be harder to 
port other Software over, which has slowed 
down some of the releases. The Pro- 
grammers Interface to the Mac Is complex 
and "different", and while it does relieve 
the Programmer of a lot of the details in 
interfacing an Application to the System, 
it requires more time to figure out how it 
all goes together. This may provide faster 
Software Development once the Developer 
learn 8 the system, but it also Induces a 
delay in getting the first products out. 

In addition, the Graphics capability of 
the Macintosh Is an Integrated part of the 
System, not a "add-on" as It is on most of 
the other Personal Computers. For 
example, the Text that Is displayed Is not 
a standard character set generated by a 
Display Controller/ROM system, but is 
composed of various fonts which can be 
manipulated in numerous ways because each 
and every dot on the Display is controlled 
by the "System". The Mac Is a potent 
"Drawing" Machine with Its Graphics, which 
is a whole NEW area for using Computers, 
and may turn out to be as revolutionary as 
the Screen-oriented Word Processor in the 
utilization of a Computer. This has thrown 
a real "Monkey Wrench" into the Development 
of Software for the Mac, because the 
Software Development Industry does not have 
any experience in this area to use as a 
guideline. Rather than simply developing 
new methods and procedures in interfacing 
an Application to the Mac, the Software 



Developer must develop a whole new ATTITUDE 
and APPROACH to effectively use the Mac's 
Graphics-oriented User Interface. Also, 
this Graphics capability opens new doors 
for totally different types of Software, 
such as Apple's MacPaint and Mac Draw, or 
Telos Software Products' File vis ion, to name 
a couple of examples of products that are 
different from anything that has been 
available before for a Computer System- 
Again, we might note that the copies of the 
MacPaint package that are showing up on 
several of the -established" Computer 
Systems provide an Indication of what the 
overall Industry thinks of this type of 
Software Package. It will be very 
Interesting to see what types of Software 
appear In this area as this part of the 
Industry matures over the years. 

Apple appears to be going all out to 
support the Mac. The common problem of 
finding out what Is in the ROM In the 
Computer, for example, does not exist with 
the Macintosh. Anyone can obtain a copy of 
the "Inside the Macintosh" Manual (Apple 
recently announced that they have signed an 
agreement with Wiley to publish this 
Manual). We have not heard just what form 
It will be In, but I would anticipate a 
multi-book set with the possibility of 
ordering a set of Disks of supplemental 
Information. This Manual will not give you 
a disassembly of the Mac's ROM (thank 
goodnessi); it does provide information on 
how the Software System works and how to 
Interface with it In writing your own 
Programs. For example, you do not have to 
design the Windows in detail, you simply 
specify what size to make a Window, where 
to put it, and what It is to contain, and 
call "System Routines" that actually draw 
the Window and control it- Our present 
'Draft' Manual is about 6" thick and it's 
"all MEAT" — each and every sentence must 
be studied to begin to understand what Is 
in it. Maybe we will see a series of the 
"Lightning Bolt" Books on disassembling the 
ROM and System Software sometime in the 
future, but I kind of doubt It; it sure 
would be a BIG set of Books. Apple will 
also be making use of various Bulletin 
Boards, CompuServe, regular -Newsletters", 
etc., to help get the Information out to 
those that are Interested. 

Apple is also supporting the Mac with 
Hardware; the primary thrust over the next 
two years will be developing and supporting 
the AppleTalk Network In a -Business 
Office" environment. While not as fast as 



'68' MkCfO Journal 



39 



most of the other "Networks", AppleTalk is 
SIMPLE and INEXPENSIVE! A $50 "Y" Adapter 
for each of up to 32 units allows any unit 
to be hooked up to the AppleTalk Network; 
there are no switches to set, etc. Every- 
thing is handled in a 5K Software package. 
For those who need more capability, there 
will be "smart** boxes such as the File- 
Server with a 20 or 40 Meg Hard Disk and 
full 68000-Ba8ed Computer System to handle 
more complex hookups such as communicating 
with Mainframes, other 32-Unit Networks, 
etc., as well 88 perform numerous other 
supportive tasks (the target release date 
is summer/fall '85 at around $5000). 

The $7000 LaserWriter contains a 12MHz 
68000 Computer System with 512K of ROM and 
1 . 5 Megs of RAM so that IT can handle most 
of the ''processing" required in generating 
the Text and Graphics at the 300 dots/in. 
that it uses, rather than tie up, for 
example, a Macintosh and special Software, 
for that job. The LaserWriter ROM does 
not contain the different fonts in a bit- 
map format; it contains the outlines of the 
characters in 13 different font styles. 
This allows the printed characters to be 
just about ANY size and have ANY orien- 
tation (print at any angle, upside down, 
whatever), format (such as bold, italic, 
shadowed, outlined), etc. The ROM also 
contains a "FORTH-like" programming 
language called PostScript which allows 
Software such as MacWrlte, or any other 
piece of Software, to send a PostScript 
Prograa, along with ASCII Text, to the 
Printer rather than the "bit map" that is 
sent to the ImageWrlter (which radically 
cuts down on the amount of information 
that has to be transferred to the 
Printer)* This "Program" will tell the 
LaserWriter what fonts, sizes, formats, 
etc., to use, and let the LaaerWrlter f s 
Computer handle the details. The Laser- 
Writer is already set up to use the 
AppleTalk Network; several Mac's can be 
hooked up to the Laaer Writer and each can 
use it, with no other parts or pieces 
needed other than a $50 Adapter for each 
unit in the System. 

Finally, the overall Macintosh 
"Operating System", to use the term loosely 
— Apple actually considers the Mac ROM and 
the System Software to be two separate 
packages, an Operating Syatea that inter- 
faces with the Mac Hardware, and a User 
Interface Toolbox that Interfaces with the 
Mac Prograva — shows considerable fore- 
thought. For example, it already Includes 
provisions for Color; 8 Colors with 32 bit- 
planes can be written into Application 



Software NOW, which will simply show up in 
black and white at this time, but will be 
ready when color IS available (rumors hint 
at a 68020-Ba8ed Color Mac in a couple of 
years). For another example, since every- 
thing is soldered into a 4-layer PC Board, 
how do you "update" ROMs? The System Calls 
use the 68000 "1010 Trap" (they leave the 
"1111 Trap" open for the Software Devel- 
opers* use), so this vector can be diverted 
to a RAM Routine which can filter out any 
updated calls if needed; this provides both 
an easy way to keep the ROMs up-to-date 
(as long as you keep your "System" Disk 
updated), as well as allowing Software 
Developers to use their OWN Routines in 
place of any of those in the ROM if they so 
desire. 

While there may be some drawbacks (for 
example, accessing the Disk System is S-L- 
0-W compared to most other Operating 
Systems, although Apple expects to have 
some updates this year that will speed 
things up some), overall, the Mac Operating 
System appears to contain a flexibility and 
expandability that is seldom seen In other 
Computers, and only time will tell how 
efficiently Software and Hardware 
Developers can learn to use the System. 

A "Macintosh System" comes in many 
flavors. The basic 128K, Single Disk Mac Is 
definitely a "Starter" system; it DOES get 
you a Mac with basic Word Processing and 
Graphics capabilities, so you can begin to 
get familiar with the System. But to have 
a "Usable" system, you really need the 
external Disk Drive (there is only enough 
room on the normal "System** Disk for one or 
two Data Files — the Mac, especially the 
128K Mac, uses a lot of Disk space for 
"virtual storage 1 ') and a Printer. The 
"System" Printer is the Apple IvageWrlter, 
which is basically a "Pro Writer" with Apple 
Electronics, but there are Drivers 
available from external sources which drive 
Epsons, Daisy Wheels, etc. Our experience 
indicates that a "minimum" System would be 
a 128K Mac with the external Disk Drive and 
a Printer if you expect to use the System 
for much of anything. Double-Sided Drives, 
which the "rumor mill" says should be 
available this summer or fall, will be a BIG 
help. 

While other Printer Drivers for other 
Dot Matrix Printers are becoming available, 
they are not the "Complete Answer". I 
would guess that the ProWrlter was chosen 
to be the System Printer because its dot 
pattern of around 80 dots/in most nearly 
matches the Mac's Display Screen, providing 
a Printout that almost exactly matches the 



40 



68" Micro Journal 



Display in size and texture. We have been 
using an Epson FX-80 while our ImageWriter 
is "in the Shop" (more a little later), and 
have found that its 120 dots/in produces a 
much 'cleaner' Printout of Graphics 
Displays, etc., but the SIZE is different. 
To get a clean "High" quality print, the 
Printout is wider than the Display. This 
becomes very noticeable with different 
Fonts* etc. While this situation may not 
be a problem for you, you should be aware 
of it. 

The reason our ImageWriter is in the 
Shop (now for the third or fourth WEEK) is 
that one of the Pins in the Print Head 
froze up. So whats the problem? Well, 
first, it costs almost $100, and is not 
easy to change (the Epson Print Head costs 
$9.95, and can be changed in a few 
seconds). Second, they are SCARCE; while 
"no one" knows about any "unusual problem" 
with these Heads, even the MAJOR ProWriter 
Service Centers don't have them. The local 
Apple Repair Shop assured us that they 
could have it repaired in a couple of days, 
and after a few days of "working" on it, 
decided that the Printer needed a new 
Board ("updated" Board, as they called it). 
Well, OK, we need to have the most "up-to- 
date" Board in our Printer, right? After 
the Board was replaced, we were informed 

that the Print Head was bad SURPRISE!!! 

So, we have been using the Epson the past 
several weeks while waiting on a 2-day 
repair. And we are not alone in this 
problem (re some of the "Letters to the 
Editor*' in other publications). Hopefully, 
they (??? whoever) will develop a decent 
Print Head in the near future. 

Is the Mac for you? Only YOU can 
determine that* The Macintosh DOES offer 
many options and possibilities that we have 
not had in the SS-50 Bus community; most 
notably that there will be a LOT of them in 
the Marketplace, and have a LOT of dif- 
ferent Software and Hardware to use with 
it. It also offers a lot of options and 
possibilities that have not been available 
before in the Computer Industry in general, 
such as the fle>dble but simple Window/Icon 
User Interface, the Graphics capability, 
and the AppleTalk Network (an IBM PC Board 
is being developed to interface with the 
AppleTalk Network, while the FlleServer 
Unit will provide access to "'Mainframe* 
Networks). Whether it will develop into a 
force in the Business Computer arena, only 
time will tell, but it seems that Apple 
DOES have a "viable alternative", and 
Marketing Force to capture a large chunk 
of the Personal Computer Market. 

68' Micro Journal 



Ramblings 



Mr, Don William 

bS HICflO JOURNAL 

P.O. Box 649. 5900 Cassandra Sal th 

Mlason, Tennessee 37343 

Dear 0on. 



I was a bit startled by Ron Anderson's comment In the March l 8S Issue 
{Page 10, column I, Paragraph 4) that ISC *e*m to be getting out of the 
68x* business. But I looked for thefr advertisement In *ome of the Months 
preceedlng that Issue and, as sure as an Indicator could be, no 
advertisement. Horror of horrorsl Now not only an [ obsolete In equipment 
but my 00S has done and gone obsolete on me too. 

In fact everything related to computers I have Is obsolete. I built 
my first SulPC 6800 system about 1978 and that went obsolete when the 6809 
came out. Yet that was wording fine when I rushed off my money for my 
second HTPC 5/og system In January 1980. In fact that original 6600 
system Is SriU WORDING fltti TODAY as I sit here and write this letter. 
True, I haven't used it for some time. But why couldn't I use It as a 
parallel processor sometime? Simply hoot It up through a parallel port to 
the 5809 S/09 and boy could I have some operation run like greased 
lightning. 

Talking about obsolete. I wanted to try sowe graphics but neither 
SkTPC system had any ("We Don't May Games"}. t looked at the boards 
available and they were either too expensive or too crude. Uhy not buy a 
cheap "appliance" computer and connect It to the S/09 through a serial or 
parallel port? Hell you never saw a computer go obsolete laster than the 
Texas instrument TI-99/4A. I would have reported on this toy through your 
Journal (the graphics were good at the time for the money involved!, but I 
got mad at thee when they charged more for the bo* to Interface to the 
serial port than the computer cost! I did not want anyone to buy one based 
on my recommendation after that. 

On my third version of FLI*9 I vowed to heaven I would never, ever, 
buy another version of FLEX- Sure enough, UNIFUX came along. But nobody 
ever convinced me why I should pay several hundred American bucks for a 
multi-user system when I am only a single user system. 

Recently I had an occasion to use a brand new Radio Shack Model 4P. 
In my opinion, that computer has not yet matched the capability of my StflPC 
S/09. True. I didn't get a routine to tell the time with the S/09. I have 
thought of placing one of those stlck-up digital crocks on the terminal. 
But If I turn my head SHgfitly to the left I can rook at a regular clock to 
tell the time. If the computer wants to tell the ti«e he can ask me nicely 
and I m*,y write a program for him to use his two on board timers. But the 
Radio Shack did have one very superior advantage. The documentation was 
beautiful. If I had that documentation when I started computerlng, 1 would 
have saved all that time reading one piece of Inscrutable prose after 
another. But I would have missed all the fun too. 

But there's the bits too. My bits art going obsolete. The 6809 Is 
only 8 bits. There's 16 bits and 3? bits com1n9. Nhat am I ever going to 
do with all those bits? "Ah, but you can calculate ever so much faster!" 
you say. "Why can't I use my 8 bits and calcluate with my on-board 
calculator?" [ answer. "Surely the calculator chip will calculate much 
faster then the 16 bits or the 3? bits?* "Hot 1 f we 91ve them mo r e 
mhx.""You mean my «>? 1$ obsolete too? Oh I that reatly hurts!" 

Ho the Fat Mac at 512k does make my were 1?8* obsolete. Everybody 
seems to be In the big memory business these days. I seem to recall that 
In the early days of micro -computers a sleve-of-Erastothenes required less 
then Ik. Now. according to Mr. Edward Joyce who wrote In the October 1984 
Issue of MICROCOMPUTING (not another obsolete!! magazine, page 63, 
Logitech's Kodula 2 REQUIRES 16,970 bytes of object code (NOT INCLUDING AM 
3kb RUN TIME PACKAGE!. I have an Idea, why not keep all eur programs In 
«AM, Then we wouldn't need disk drives any more. (LOTUS l-?-3 anyone?) 

Some tfme ago, perhaps In the '60 k s, I read a great article In ANALOG, 
the Science Hctfen magazine. Perhaps someone will write In with the date 
of the original magazine, for that article Is really worth reading. I do 
not remember who wrote It or the title (but It toy have been "The All 
American $") but I wilt try to recall the high points here. 

Back In the '30's the electronics Industry had achieve a S tube 
design for a radio. It was called the "All American $". That's all It 
took to make a radio. Just the 5 tubes. No more. No less. Some clever 
manufacturer figured that If he put more tubes ^n the radio he could sell 
■ore radios, 'nd the big tube race went on. There were 6 tube radios. 
Then 10 tube radios. Even 20 tube radios. Some iwroufacturers even had the 
extra tubes light up so you could look In the back and see all that great 
work being done. 

Then It was cylinders. The more cylinders a car had the better It had 
to be, didn't It? The cylinder race was on* 6 Cylinders. 8 Cylinders. 
No. Not 10 cylinders? Yes and even 20 tiny little cylinders. 

I guess you are all too young to remember the watch jewel race. At 
first everyone thought that there aere really diamonds In those watches. 
They just had to be worth more If they had more Jewels. The Jewel numbers 
continued to climb until so«e sourpuss squealed that the Jeweler's term for 
a normal bearing was "Jewel" and that was all over. 

Back to the radio again with the translster. It took 7 translsters to 
make a radio. Superheterodyne and all. The translsters got at least to 19 
as I can recall fron my personal memory. Nobody would sell a radio with 
less then 10 translsters. 

tUttage anyone? I can get thrown out of my apartment ff I pfay my 3 
watt webcor (Cadi another obsolete!) stereo record pUyer too loud. The 
lowest wattage stereo receiver I could find was 15 watts. How does It 
happen that people buy 100 or ISO watt sterees for their houses? I believe 
that on the day of the Last Judgement only God himself will use 150 watts 
to announce the end of the world and the end of the wattage race 1 hope. 



41 



SO the races no« ere uftn bits and byte* and #>x end raei Instead of 
with tubes and cylinders and Jewels end trans liters and watts. *y 
colters «rt very fine. ! fNr the day tffttfl t cm no longer get a Inch 
diskettes (Hoi Not 5 1/4 Inchl Not 3 Incft! Arjogfil) or print ribbons or 

stuff Hk« that, Mien I cen no lonoer got the *»*» ■oteHel to feed to ey 
computer, only then win U bt trvly obsolete. 

But Isn't the nu4>er of people who own obsolete coulters growing 
every day? Sally. Interact, Ade»> Altelr, NITS,, 0«&om«, Sinclair and on 
and on, ttn't the IBM PC shortly to be Included on that list because of 
the PC AT? Shouldn't ther« bf a oeoazlne called the OBVXETE COMPUTER? 
wouldn't that oagazlne have a Marvelous circulation? 



Tours trel 




1c 



Clifford Glennon 

1S9S Nostrand Ave. Apt » 

Brooklyn, New York M2* 

Ed's Note: Clifford, you just hit the nail 
right on the head. A lot of brands and 
models have become obsolete. They were 
planned, designed, manufactured and sold, 
all with obsolescence built in. That is the 
American way to merchandise a 'successful 
line'. It is the foundation of almost all 
major manufacturers, otherwise, they would 
soon run out of repeat customers. The auto 
industry is just one example; they got 
'eaten alive' by the Japanese. Because 
sometimes it became the same - junk and 
obsoletable (think 1 just Invented a new 
word). Fact is I have been told by 
designers that it was difficult to design in 
such a way as to insure it would fall apart 
in a predetermined time. At times falling 
apart was not the design goal, just let it 
fade away, without adequate support - forget 
it and on and up to the new improved model. 
Bye, Suckers! Remind you of anyone? 

I own both a late model Caddy and a 
Chevrolet van, in addition to a 1972 Fiat 
convertible. 1 hesitate to call it a 'sports 
cars' lest any of you get the wrong idea. 
Also I have a '69 Ford pickup with over 100 
grand showing, and a lot not showing. So 
let me tell you about my experiences with 
obsolete. 

Notice I have not Included obsolete 
computers in my r amblings so far. I own a 
couple of those also. More later on them. 

As a result of the Cadillac having so 
many problems and faults, as well as the 
Chevy van rusting away due to poor prime and 
paint application. Not to mention the 
engine that drinks oil like it was going out 
of style. And the dash that sounds like a 
Texas rattler, even on paved road. The 
whole thing is a rolling pile of 
obsolescence. When I go into a Chevy 
dealer, they just attempt to shrug away my 
complaints, and start telling me what a 
great job the newer one will do. Well, I 
will never buy another Chevy or GM anything, 
ever, I am now on public record of getting a 
case of the smarts. However, I guess a 



little of it is due to the fact that I know 
somewhat more about computers than 1 do 
automobiles . Also, for as long as I live and 
buy autos, the experience with Ford will 
make me a Ford customer. It has kept 
running and gave me more than I bargained 
for. Also the Flat has run like a top, and 
everything still works. They dropped their 
USA distribution, but I can still get parts. 
I have a hassle trying to get parts for my 
van, and it is a '79 (parts that is that 
have some quality). 

Now as to Obsolete Computers. 

I was talking to a friend and reader who 
is employed by the FAA the other day, he was 
telling me about one of the S50 bus 
computers they were using in some of their 
operations, at a regional office. He was 
buying additional hardware, from Data-Comp 
for the system. I asked him what it was, I 
was told it is a 7 year old SWTPC 6800 
computer and ran at least 8 to 10 hours 
dally, seven days a week. And they can still 
get any part for it they need! I thought 
about this, especially since getting your 
letter Clifford. Today I called a reader and 
user, as well as Data-Comp customer, who is 
a NASA engineer, and he tells me they have 
several (meaning 'many') GIMIX and SWTPC 
systems that are at least 5 to 8 years old. 
Fact is a CoCo running S.E. Media FLEX 
modified by S.E. Media was the computer that 
launched the FIRST commercial, non- 
government USA space vehicle. Those systems 
are still running, the software is not in 
the least obsolete. The CoCo, as we now 
know it, may soon be dropped by Tandy 
(remember the TRS Model 1, model 12 and soon 
model 4, etc) but the aftermarket will 
probably keep it alive, due to the large 
numbers of them sold. 

I have not heard a word from Wavemate 
for a couple of years, yet S.E. Media sells 
software all the time to users running that 
machine. And we can still get practically 
any part needed also. Then there was MSI, 
gone for some three or four years and I 
know many still running and being supported, 
because of the similarity of S50 bus 
systems. And even as I type this, I 
received a call from a user of SSB 
equipment, 6 years old, still running the 
DOS69 and completely satisfied with the 
system. And any of these systems can run 
the 68000 also. Obsolete? 

FLEX is not, in toy opinion, supported by 
TSC any longer. In fact the only thing that 
I know of that they have done with FLEX in 



42 



68' Micro Journal 



the past few years is jack up the price. 
But that is another story. They still 
support UniFLEX, and in fact a very nice 
version (virtual memoty) will soon appear on 
a new 68020 machine from GIM1X. However, I 
must admit that most users of FLEX and 
UniFLEX, L talk to, do not feel that TSC has 
kept the faith. Yet, I do keep up, in 
various ways, with what is occurring and it 
is my personal opinion that their decisions 
in respect to FLEX especially and the S50 in 
general was a mistake. I will be glad to 
retract this given sufficient information to 
the contrary. UniFLEX users have had it 
somewhat better, but not to the extend 
previously expressed or implied. 

That any manufacturer of either software 
or hardware should restrict his offering to 
the S50 bus is patently unthinkable. All of 
us would desire that we have a profitable 
growth and expanse of our market. We all 
felt good when some of our suppliers made it 
on the 'other side", but not when they did 
by ignoring us who had given them their 
start. When I went higher in grades 
(schooling) then my parents did, I did not 
forget them and go out and search for a new 
Horn or Dad! Nope, I just rejoiced and 
thanked them for making it all possible. 
That kind of thinking goes equally as well in 
business. 

I am thankful to fine folks like those 
at SWTPC, GIMIX, SSB who were there at the 
beginning, and never made their stuff 
obsolete. I can still get practically 
anything I need for any of those basic 
systems. They have improved the breed a 
thousand fold, but in the process never made 
my original system obsolete. Without that 
we would have been gone long ago . 

For the past 5 or 6 years I have 
watched OS-9 grow. Both in quality as well 
as quantity. OS-9 is now used on more 
different brands of 68XX(X) computers than 
any other disk system - period! Yet, 
despite its growth, and expansion to other 
systems and CPUs. Microware has not seemed 
to have forgotten their beginnings. 

I have not always agreed with some or 
their policies (as with many others), and 
matter of fact many of them have not agreed 
with ours. Yet, they have not obsoleted any 
part of their product. I thank them as well 
as all the other software and hardware 
vendors and manufacturers who still remember 
who we are. 

Now I will tell you a documented truth; 
those who have kept faith with their 
beginnings and loyal base of users, and who 
offered a reasonable quality product have 



survived. Not many got rich, but most eat 
fairly well. And that IS important! They 
will still be around when it is feasible to 
make that expansion, but not if they forget 
their base of users. I cannot tell you how 
many have lost valuable credibility because 
of the "bad -mouthing" they received from 
their users because of their apparent lack 
of support of previously sold products. And 
I personally know of some mighty fine 
contracts that were made possible because 
of a proven track record of GOOD support. 
I don't care how well you might think your 
product or support is; if your users feel 
you fail - YOU FAIL! The IBM PC (tm) is not 
the best micro - but look at what 
reputation has done out in the marketplace. 

So Clifford, I guess we will always have 
shoddy products. Those will be culled out 
in the normal course of business 
progression. For those who remember, have 
a good chance at survival, because we are 
loyal. But the sad part is that we will 
lose, and I mean WE LOSE, when any one of 
our basic suppliers becomes a little "big 
headed' and forgets who gave him his start. 

If ever you think that we are letting 
you down, I want to personally know. I know 
who made us and I thank each and everyone 
one of you, reader and advertiser alike, 
from the very depths of our hearts. WE 
REALLY APPRECIATE YOD! !!!!!!! !!!! !!!!!! M !! 



DMW 



(Lowputer Pub I I ah in V Canter 
66-MicrD Journal 
3900 Cssasndra Smith 
P.O.Bdw B4? 



HIX6Q*. 
U.S.A. 



TN 373^3 



Rsvaond Caaneuf 
Berliner Str.S* 
607 HaUtel 1 
U. Geraany 
Europe 



nalntal. dan 19.2.83. 



buhj.L Upgrade the aid black bok 



Dear Ed l tor . 



rha letter from Mr, Piicinn publlahed undtr 'Bit fluckat ' in tha 

dtenber 196* lnui expre««e« ana of ttie dreaaa of avary caaputer 

frtik I guts*. A dacant hardware* a flexible ayatea layout and a 

high reliability In ordtf to run aultipla operating eyateaa, without 

board swapping or ch i p-txehang ing for goJng froo on* OS to tha 

othari and ill of this for a raaaonabla price! 

Hoatver. being iviri thai nobody Mill invrnt an egg-laying 

wool-el lk~p i g. I might introduce ay aetup «a an exaaple how an oldtr 

svatra can be upgraded with («Hnor> nod I f lie at bona in order to 

rlillir the above Mentioned drttm. 

I do not clala that this la the ultimate ayate*. but thia 

contribution could ahou to tha o8km- f rat tt-n Ity on* way for an 

upgrade, using aoat of the Already avallaMa hardware. 

For the t \ aa being I can sal tch-select between FLEX, UNIFLEX. Ofl-9 

and trVH using the aaae hardware configuration. 

In the early days, n South West Technical Products still 
manufactured kit*, together with aowe other fellowa here I started 
out building a 6800-h 1 t froa the acratch. 
uo after a unlit 1 also aaa a Proud owner of auch a blvick box. 

hore or lass at the aaae t lae aaae ruaoora case up that the 6800 
would be replaced by tha 6609. Alao around that Mat Southwest 
aoved fro* the 'hobby-aarket ' Into the ' ayat ea^buaineaa' . Prkcaa 
aent up for the laat bare toarda. new aoftware was aada only for the 
6809, etc. 

Manv swtp-dtslera at thia aide of tha atlantlc tried to get rid of 
tha hobbieat. help waa no longer available..... They aaelled 
'business' and knew only the warda 'bookings' and 'profit'. So dark 
daya began for thr 6800-owners. 



'68' Micro Journal 



43 



1 have to tKcludr &wed I *h Electronic! froa this steteaeM. Han« 
gave to ■• • lot of uiiful jnforaat »on. «o 1 ctn rtcontnd those 
dlloKt to the 68KM-coaaunityl 

At thu tut 1 decided to convert to 6809. but prerequisite however 

est to u«e as aany psrts •• possible froa ay old tytite. 

First step ««* to convert the old HP-B2 aotherboard to the 

GG50c-bcjt-)avout . 

Went step Mil fully decoding of the old aother^boerd. 

Later 1 Minted bo initill the virtual disk, so intended eddresemg 

hi« required. Therefore 1 had to aodtfy ton of the available 

ataorv boirdi. 

After s Stateside visit 1 c sae bacN hoae with an older version of 

OS*. ftc the next project mi to be itsrted. 

in order to pet the 069-clocK running there hii a need for t iaer on 

sddren *C090v for ton reasons 1 had to convert the 1/0-portt froa 

* to 16 addretses per Porl, 

it later instsllaent in cp/a. hoping to open ay lyitsa for the so 

called ov*rwhsla>ng world of application prograaa* which are told to 

be available for the cp/a-coeajun ft y. 

Finally. ton t * ae 1.90 I matelled Unlflex on the ssae asinfraae. 

Son other aod 1 f icst iont were required to aahr it running, but still 

having iccut to the all previous features. 



■ ill of Ihf ibovf HtiManF 



mntl chapters- 



1. Conversion rtP-fl2 set her board for *8Q9 cpu (Hp-QVA board 1. 

Several modification notes Mere published in the 68nJ in the past, 
so I Mtll not repeat alt of the thoughts MMch have been written on 
this subject meanwhile, 

First of ill the 1/0-port* aust be aoved froa the IBOOO-Brsa 

into the •EOOO-area. 

The supplied HP-B2-aanuat . p*9e 4, describes ho« to do thisi 
e/ cut psth betMeen 1C6/13 and IC3/*. 
b/ connect ic6/9 to Ic3/*. 

I his aovea the 1/0-blacfc to ♦E000. 
c/ cut MUST froa MP-82. 
d/ cut U01 * U02. 

«/ connect reset switch w»th 2 wires to the HP 09 board. 
f> »t is useful I to connect an abort-auitch to the nai 

connector on the cpu-bosrd. 

Mt thts aoaent 1 could boot flex?. u« ln g ay old 

0i;2 controller for the KF6B. 



K* 



tc* 



$mm\ r- 



,.#•< 



V 



4 ' 

J- 



•js*t/* 



: 



dtfW jvmptr 



2. Address -decoding. 



Having purchased a graphic board, addressed at •£10Q. 1 ran 
into an addressing problea. 80 1 decided to to decode the 
e-EMXK-erea for ay needs. 

A good help for this Job aas an article In the HJ68, laaue 
eprfl B2. page 35, 

8lncc I also replaced the DC2-cont roller by the 0C4 
aeenwhile. which bIIoms 16 addreaaes per port. I decided 
also to eodify the port decod>ng froa * to 16 addressee. 



a/ cut addresaline AS to lc6/4 on the MP-82 aotherboard. 
b/ using an 8N7*25 and an 8N7*00 asks following decoding 



SN7*25 pin 1 

2 

3 
9 
10 
12 

13 



to ground 

to All 

to MO 

to A9 

to Att 

to A7 

to ground 

to grnund 

t o SNM00V1 

to 8*7*00/2 



SW7*tJ0 p F n 1 to 8*7*23/6 

2 to BN7A2!/9 

3 to ic6/* 



Hers- addresstfecod Ing. 



The f lex-ut *\ ity 'TIKE* requires a tiatr at address *E090. 
Also for ay CSV-lap) eaent at Ion there aas a need for a tiaer 
at this sfldress. 

HoMver neither the t 1 acr . nor the eddresedecoding for this 
address was prepared sofer. So lets do soac aore decodingt 



*' 



first step is to replace the original 7*9138 Cic3) on the 
P1P-82 aotherboard by *n SW7*1S* decoder. 

Therefore I built a Basil adaptor board . that plugs into the 
original Ic3 socket on the KP-B2 aotherboard. the 2*p I h 

socliet for thi 7*15* \% hardwired to a Spin socket on the 
ssae adapter board. The pins of this auMiliary socket plug 
into the old socket on the aotherboard. 



4 ul loving connect inns uiri asdet 



13 



23 

,v 
21 



EOTQ 

E06t> 
E050 
E0*0 
tO30 
E020 
EG ID 
£000 



CO 30 
EOYO 
E0A0 
E0P0 
EDCQ 
Eft&D 
E0EO 
E0F0 



In tfxi wav i gol all the required ports, also soae extra 
unci i or l*ter eupansjon. 




$+FF 






After this Bonification the 1/O-dscod In 9 is eEOOO . «£010. up 
to tE070. So the serial card for the crt aust be aoved froa 
slot I lo slot 0. and the floppy controller aust be 
installed on slot 1 < «E010K Qo not forget to reaove the 
Mire from slot 5. 

Those chips can be positioned upside down at the left aide 
on the components side of the MP-B2 aotherbosrd by u*e of 
soae adhesive* 

Now I could Plug ay graphic controller on to the 5550-bui. 
uhlch allows ae nou to create 312 a 512 pixel pictures. 
The vidso aonltor used Is the old CT6* froa southwest. 



The neaer swt p -corn-put ers have a total nea design of the 

aotherboard. including a HP-ID card. This ttP-10 card hold 

the 6840- t »»sr . 

( decided to build this t Isir on a BS30-prot oty© Ing board. 

lhis board all I also be used to hold the baudr at egener at or . 

uhich all I be covered later. 

1 copied the t iaer aa published in the MP-10-scheaat c. 

After coaptation of the circuit. 1 found out that it would 

have been ess I er to use a bridge rectifier instead of the 

two transistors. But I wee to lazy to aod k f y the circuit up 

to now. Everything works okay sofar ►„. 



'68* Micro Journal 



lh« 50 h* J in* frequency it doubled by the trhntittor 
c»rcuK. *nd I* tent to the «G40-tiaer through • 7413 
ba»IM r igaer . 
\ tee tcheaat kC > 

fhi» 9«v» ae the rr«iiin4 I (M< for both * t lrtE*-u 1 t • t y . and 
0*9-tdtpt ion. which Mill b« covtffd later. 




In order to run the * UO J8K * -pech age , extended addressing 
■umt be enabled* both on the cpu card and on tit* 5590-bua. 
therefore t mo lOdXKtt lon% ere required! 



■ / milill ihi DAt Ml on 



Ihe cpu board Bay hivi either i c9 <0AT> or Ic24 < t • aer > 
metalled. (NOT I0TMM For extended eddreatjng left CO«T> 
»t reQuired. to Ic24 wott be reoovedl tee next point. 
Referring to ion note* 1 found* icB 74S1B9 should be an 
'4*-tvpe, Be careful I nftlli imUlimg the chip or the 
socket. Do not bent tny pine end tate cere to ikkt good 
•older 1*19 «o«-e i a lot of troubleahoot ing can b* avoided In 
Ihn wav. 

In addition to icB. nintori 121-82* < 470 oh«> euet be 
•natal led* 

Bee aleo tppl ciMoa note 122* fro* awtp. 

Referring to the hP- tQ»e<:he»et (C . and an ippllcit too not* 
fro* aouthweat. * alto removed R4. PS, RIO and BO fro* the 
old MP^I? wot her board. Rt it replaced by • oOO ofi*. 
letitter. and FIRt <O02) connected to *5V trough a pullup 
rettator . 



At this pomt I have to ttv tKtnU to SfiSCWV. ay friend Hant 
in Oppaala, He It one of the twt p-repr taent ivii who tabet 

cere of after-tale eerviceil 

b iiwvt the beudratl generator 14411 CiCaMK 

thit n»tr can be intttlled on the iim prototyping board, 
wtith is uiid for the IE090- t iaif , (tee chapter 4) 

c/ cut the baudrate linet 50-49- 48- 47-44 . Thoae paths ctnnot 

lonttKr be utrd Cor Maing purposes. The SS50c-bus Utes 

Jhote linet for extended adreaatno A1A-A19. So cut the 
oatha between thr BS'O and BS30 section, 

a/ met all ll"f 1*4 1* on th* prototyping; board. 

the iim ( ircult 4i« uaed on the cpu beard can be build on 
the prototvPUiO board. u«« tcheaat ICK 

Ihe tppropriste cloctialgnale autt be tent to the btudrate 
I inea on the 9S30 bui taction. 



*t* 



i 



U 24 

it 7 

4 
f 

** 1 



-Lfrl 



ifr* Mf= — *~_ 



-*t>: 



^ 



-H>a- 



^Tiffo 



^M»" 



~r« 



Coding tht aeaory 



Now everything la eetup to atke ute of tlie extended addrpea 
capability. 1 ute two ttatic A4-F,-ret ctrdt froa Digital 
Kimrch. I htd too* piobleea In finding the correct 
twitcheett Inge on the board. Finally I found following 
coding to be uted aith th* boardet 



on 


93 




CO 


fi1 


$2 


S3 






1 1 1 


1 


1 


1 


1 


board 











1 


1 


i 


a 


board 


i 


1 1 1 


N 




1 


% 





i 


board 


2 


------- 










1 








A t r 


51 








t 








l I l 


SU 







a 





D 


boerd 


r 




















I IH » 


eMt 


. tddr . 


enabled 










----.-- 


















» |« » 


C 


taooo ■ 


- ttFFF 












1 III 1 


1 


• 4000 • trTFF 












**«->*-» 


















» In l 


A 


toooo • 


- »3fFF 












_—__--_ 



















*»ter tuccetful coding tnd mtt al lat ion. the proapt 'SQUGI.x 
SAK* will appaar on pow«ring up thr tyttea. 

rtCler booting the tvetea. the fliw-prowpt p LEX 2.MIM 102 k 
«•« ) 1 4ppet» . 

a little bit of eMper taant ing with thr botrda thawed that 
board autt have tCOOO-tOFFF enabled. tEOOO-tFFFF a> u et be 
d l tabled. 
0oanj» I to $5 aum i tuvi the range tCOOO-iOFFF ditabled. 



wine* t alto htd an old 32X dvntalc raa froa Digital 
■ eeeerch tvailtbla. t also **tnted to plu^ \n on to the 
BfrsO-but ilao. 

F |r%t atep wat to prepar* thu bo»""d For extended 

tddrcttmg. A utef ul I art leal wat published in HJ6&. issue 
%mp.0Jy Ptge 2d. 



A16- 

MF— 
aid 

MP--— - 
VHA----- 



74LS13B 

I -I A 01-13 

2 -'■ 1*- 14 

A -»C 21- 13 

5 102b 3i- 12 

4 l 02a 4 ■ 11 

a -101 V- ID 

Vet d<- t 

B - i Ond 7 * - J 



-Id 



* — <«.^ 



-■ 



1 > VNA 



Uith the twitch arranQcavnt onr can *el*Ct on wfi ich Page the 
32*Vb1o<fc Mill be located. this saaM addltiontl circuit 
can be poa»tiooed on the lo«>«r rigth corner of the board 
coaponcntt tide. 



♦I nice proor*" to »*** the uaed avaory blocs* visible *\ the 
•NfMnnP* . 



With thit intltllarnt aOfar. and running "OVMASHaH ' | can 
have sv ton running hla baa i cprograas in one block, while 
a>vtetf running the att*w>b)er or toa>*thinqi vise in another 
block, both uting an individual crl . 
litis it * nice altrrnaMve to the ictl aultl-uter tvtteas. 



i have alwtvt been Interetted In 059. but I alao alytyt want 

to be abl* to turn back to F'leM without twapping board* or 

repltc Ing ch t pa. 

rt a i nor aodlf'cttion on the nP-09*. board allow* tccett to 

both operating tyateae at a flip of a twitch. 

the 0S9-F irawar* mliti of two 27^d-eproat. The flrtt vproa 

should be placed at addratt eFSOOt i.e. at the ttoa 

location where the SlUO ta potit toned. fhe tetond vproa can 

be placed at any location of the free eproa tochett. 

Since I htve tcratchpath at eCBOO <lc2l. I decided to uee 

ltLl-edckvt for eproa P1 . Therefore the addreasdecod i ng froa 

•COOO autt be aodified in tFSOO. The tecond eprow it 

located in toe bet IC3 itraOOi. 

The oodl f icet-ion it tisplc. it it aort difficult to describe 
however. 6b 1 guest the tcheaat ic will clear ify all 

duett I one. 

** cvt trace between JCb/O and ICf/20, 

thit thould be done on the coaponenta tide, between chryttal 
and fCta. 



by cut trace fil/B to 1CI/20. 
th>t should b* don* on th 



c/ connect a pullup resistor between pint 20 of aoefcett IC1 and 
IC4 to 5 volta 



Ihe next two tcheaaMct Bill aeke evervthlng clear. 
Hw OSP-vcrsion waa configured for a 0NF2 locstrd at eddreet 
IE400. while fleK uaed tFOOO. So I decided to ute one 
tector of the 4-potition switch. 1 wired everything to e 
switch on the frontpanel. to 1 can flip eatily between flex 
and 0SV now. 

After tuccetful coapletion of this job. the 9S9-welcoae 
proapt will appear on the screen. 

i aa runninO fleK and 06V in thit configuration for about 
one vetr aranwhi le. 



W Micro Journal 



45 



*l.»*.r [ only co<J)d use the 0NF2-cont rol ler . Ilnf or tunitt ly 

Hicr«w»re daeenot tuppd the OC«t-cont rol J fr I sa uslnq tor 

■ v am i^lopptu, 

i>oa>eone here proaietd to help we for thia ipphcittofl. but 

after about * «Qunti it turned out to be just a bluf. 

At this point 1 hsve to asy thanks to the *J68-tea« and 

especially to Joseph Auli«, ■no m HfiHcrk. who Qave «c ■ 

telephone catl jlwost in Ihe aiddlc of the night. Joe 

provided ae with the required startup support for the 

DGs-ccntrotler . tio no« I can use < it hen 8" or 9* drive* on 

OS*. 

■hanks Joe, tht* hhi great'' 



MP-Q$* 



inn 



ares? 



s- 



_^t*if*i (*<*****) 



-+i€t/<n (Pmjkt*) 






._». , e * n " i (ut^im^} 



*4+*f**Vr , 






^^^ TJI^j^i nrn rpn ran 



fc^ 



Ne*t ippl ktition on the eaae aamfraae ■• the instillation 
of cp/a. uainq the «E7ALAB-eof tboar d . 

the on lv required aitdif teat ion at thia point ia to disable 
the sratchpath at SE900. .hlCh 1 use for 'flam', 
fh*e can (inSy be don* bv installing an additional switch 
according to the next scheaat ic . 

now. after pushing the *r aset '-but ton . and hitting the '0' 

vou act the Hftiltb proipt. Noh cp/a Is up and you haw 

scciss to a mdr vanity of software, an advantage of the 

operating systea. which we are at 1 1 1 aiesmg for the 

S3S0-but. 

Unfortunately for the tiae being 1 aa liaited to 0" only. 

net a lab apparently doesnot support the DC4-control ler . I 

nrver got a reply froa Metalab neither on wy request for the 

OCA. nor on the doable density. 

rt*vb« this coapanv drxsnot exist anyaore?? 

1* anyone out here m APkx li.nd has either a OCA or a double 
drnaitv double sided application <or both) up and running. 1 
would appreciate to ahare aoae info. 






iC#/Wi 

hat I 



tO. UNIFLEX. 






Prerequisite to qct UW1FLEX up and running in 
UMIUO bootproa 
at laaJl 1?flk SA« 
8" drives 

s serial port at address SCOOQ for 1 the cr( 
a crt with 'lower case* capability 
ia M*vavB C pu boird). however ! aa at 1 1 1 running 
with ay nP-0?* board without trouble sof ar . 



On av aystea I had to per for* two aod i f I cat i ona % 
1/ aodirication io select either SBUO or UHlflUO 

this ' s done on the cpu board. 
2/ modification of the DPS serial I/O- board* 

1/ CPU-board. 

Since all sockets on the **P-0?ft board are in use aeanwhile. 

I caae up with piggybacking SBUO and UNIBUO. 

Both eproaa are carefully soldered together, pin by pin. 

with except Jon of the chip-talact line (pin 20) „ |n 

Addition to this. J also soldered a pull up resistor between 

pins 20 and 2* on both eproaa. 

Pins 20 of both eproaa are connected to a switch, which 

returns the selected eproa to the cpu-board. tocket lc4. pin 

20.. 

2/ OPS-board. 

1 aw using the 0P5-board froa MA-Chiceqo on port 0, so with 
the actual installaent I have SE000 on one ac ' a tUA). used 
for av serial pr'nter* and eE004 on the other acta <U3> used 
for ay terainal . 



It ia aon difficult to describe the required flat on the 

board than explaining this by a schematic. 

iHl Mhat at have to do it to cut the two paths going to the 

C&t-pins of both atni- 

ko cut the trace going froa U2/11 to IM/10. and froa U2/H 

to 113/ 10. this can easily be done on the coaponents' side 

Of tnC board. 

Wiring as required according to the schematic Is done 

towi.rda the 'TCHrl A socket, which is not usad in ay setup. 

In this way I can always dieconnect the wiring* and pull out 

the tinard if necessary. 

m tuufke of l2V-relaya and a apdt'-awitch out of the Junhbox 
let ae Select sitter fCOQD or SE0O4 nl)h the required eproa. 
no I can raeily flip bt-tween "flex* and 'un'ftcw'. 

Ihls application la up and running for a couple of weeks 
aeanwhile without havind sssn any prcblca aof ar . 

The juapcr installation on the DMF2-cont roller seeas to be 
rather critical. On ay board I aade the following 
juaperact t I rvg t 



lialt/bua rsq 


bua req 


upper/lower 


lower 


ba/ba A bs 


ba aba 


irq/nor a 


irq 


?ah2/lan* 


1 mhz 


precomp/nora 


precoap 


ar/nora 


nor a 


aa/32k 


Soli 


deael/ael 


ae) 



As aenlioned betoret thla application runa only for a 

couple or aountha aeanwhile without trouble. 

Having only a few experience with unlflew aof ar . 1 can 

neither racoaaena nor warn running uniflcx that way. 

I would very auch appreciate getting aoae experience (If 

anv> froa other * e 1 low-hobb * eat a. 



»u . /*" 




3 zc**& 



uz 









tn 



--a*. 



UA 



f 24 



Tftfrrffl 



eTS 
aa*| 



111 

0n 



^^ 



c 
1/3 i 



Cone 1 usion. 



for vn,fUt 

hoard loco ft el a / «/©/ ^ j^Ed**} 



This certainty is not the ulMaate ayatea. 

But I hope t could give aoae inputs how an older bOM can be 

upgraded atep by step, ss woney and t i ae and parts srs 

available. 

Sunning the old black box thia way expanded ay capabilities, 

and gave ay the opportunity to run aoftware froa a wide 

var'etv of sources- 

■Inc«r*ly« 
r 



Kd. 



46 



8sy*ond ■ asne-i* 



'68' Micro Journal 



BIT BUCKET 



'68' 



MICRO 



JOURMU 



MeworNew Dimensions of Articles, Letters and All Other 
tteas Submitted for Publication on Paper. 

To All Subscribers, Readers, Authors and Advertisers, 

In an effort to Improve the quality of 68' Micro 
Journal, we are requesting from all a change 1n the 
vldth of articles submitted on paper for publication. 
Previously 68* Micro Journal requested articles not 
submitted on disk, to be 7* wide. In order to Improve 
efficiency in reducing articles while maintaining 
readable quality, 68' Micro Journal 1s now requesting 
that all articles (not submitted on disk) be submitted 
4 1/2" In width. This change will Include all Items 
submitted on paper (Including Bit 8ucket and Product 
Anouncements, Releases and letters to Ed.). 

Source listings can be difficult 1n this new format. 
While a single line of code can be less than 4 1/2" in 
width, the longest line 1n a source listing should not 
exceed 4 1/2". For this reason 68* Micro Journal Is 
requesting compliance 1f at all possible, but 1f not 
possible, then we are requesting that the longest line 
1n a source listing be made as close as possible to the 
new width standard. The new changes will benefit both 
68* Micro Journal and Its readers* All Items and 
articles submitted on disk or paper should follow the 
new guide-lines as published on page 2 of 68' Micro 
Journal effective April 1985. 

Please try to understand that this request 1s an 
honest effort to Improve the readability of future 
publications. 68* Micro Journal will not turn away any 
article or other items because of non-compliance, but 
their quality would be greatly enhanced under the new 
width requirements. 

As always, 68* Micro Journal 1s requesting that all 
submitted materials em paper be done la dark Ink. 
Please use a dark dark ribbon H Your consideration 1n 
this matter 1s appreaclated. 

«* Ulcro Jeor*8l womld prefer all Iteas be sobvftted 
on disk, following the instructions stated on page 2. 
We understand that this 1s not always possible. We 
will always return your disk to you. 



Sincerely, 



■ rry^ W1 



UrryTF. Williams 



68 fllcro Journal 
$989 Caeaandra Smith 
NUion. TW 37343 

Dear Don , 



Ui 1 1 lam L«* 
8778 Bullock Or 
San Dleso. CA 02114 



Here ere luo utllHIft the 059 uteri out there 
way find ummf ul . The first, ♦♦PRINT", provide* for 
some formatting o* text Mlee as they are Mated. 
The other, "NAfTE". al J ova the changing of dlak 
voluwt niA*i. 

PRINT* 

The format for calling PRINT la* 

print flleapec Ctltlal [ >red I rect I on J 

'flleepee' Is the pathllat to the text file 
to be Mated and 'title' le an optional header 
atrlng to appear at tha beginning of each output 
page (48 charactera ma*>. PRINT outputa to stan- 
dard output, so redirection can be employed to 
eend it to a printer. 

PRINT divides the file Into pagea aa it outputa 
then. Each page feeglne ulth a header lint which 
contalna the title (If provided), data, time 
and page number, beginning ulth |. The header 
le folloued by four blank 1 I nee , then SS I l nee 
of text. 



PRINT beglne by eettlng up a header line Image 
In meaory. It then proceeeaa the command line, 
opening tha text file and adding any provided 
title. The main loop at 'ru^flle' calle 'neuapaga 
to start a page, then 1 oope In 'ru_llne' until 
end of file, or 'page. length ' llnaa have bean 
output . 

'620' converts page numbers to aeel l decleal. 
*klll8a' rsmovss leading 8a fro*v the page number, 
'setdate' lnaerta current system data and time 

into the header. 
'String' outputa tha page header. See the 
llatlng for further Information. 



KAflE: 

Format for NAtlE le; 

MAflE drlve.epec nsw.nems 

•dr | ve^epec' la the device name, auch aa B /d8". 
'neu_n*me' le the neu volume nisit for the dlak 
In the specified device. 

NANS uorki by opening the epeclfled drive In 
tha mode that treata the entire dlek aa a 
file. It reade logical eector 8, Ineerte the 
neu name ulth the laet character's high-bit 
sst, and writes ths eector back out, 

« Both programs ars written In DCS aassmblsr. 
The peeudop *var" uorka like 'rmb' in the 
nicrouare aassmbler. 'conn' le a 'rmb' usable 
by ths external library eubroutlnee. and can 
be replaced ulth a 'rmb' If all routines are 
merged Into a elngle file. 



059 Paged-Print Utility 



t program 1b a formatted list utility 

9 Takes its input from path provided on 

t command line, sends result to standard 

t output path. Performs pagination, pags 

t numbering and naming. 

t First entryi 30r1ar64 
t 31rtar84 

nam Print 

ifpl 

type Formatted List Utility 
nif 



t constants! 

44 equ 8c form feed 
eof equ 8d3 end-of -4 i 1 e 
stdout equ 1 output path 
■tderr equ 2 error path 
lsopen equ 804 open path 
iSrdln equ 88b read line 
iSnrln equ *6c write line 
fsperr equ 80f print error 
ftenit equ 806 quit 
page. length equ 55 

I variable requirement si 

orgv O 

% <for the top-of-page information) 

% header appearancei 

t count, 8c »8d, 8a, 8a 

t title chars 

« 820,820 

t yy/mm/dd hhtmmiss 

f 820,820 

% PAGE 

« ppp 

I 8d,8a,sa,8a 



68' Micro Journal 



47 



header v«r 5 ^orw-^ttd ♦ blank line* 
title var 40 page heading charm 

var 2 for separation 
date var 8 date 
mpaceml vr 1 separator 
time vr 8 time 
mpacem2 v*r 2 before page • 
word_page var 3 'PAGE * 
page v^r 3 

ender var 4 blank line 



make. title 
Ida ,*+ copy till cr 
cmpa #td 

beq rw_file ready to print 
mta , y* elme put in buffer 
decb filled? 
bne make. title 



t Begin read of file 
9 



print w ftlt* eqi. 



-1 (disregard count) 



t other requirements! 

number comn 9 for binary - decimal 

pageno yr 2 current page # 

linem vr 1 current linem on page <0-36> 

lpath yr 1 input path • 

parmsx vr 2 pointer to start commline parroi 

buffer yr 128 input buffer 



■ begin actual codat 

start 
stK parmsK save pointer to parms 

t preset page • 
ldd #0 binary part 
std pageno 

t preset date/time »rm» 
leax date,u 
ldd <r/i 
sta date+2 
sta date^S 
stb time+2 
stb time*S 

t preset blank lines 
ldd *sd0a 
std header+2 
std ender 

tfr b,a make two LF 
std ender+2 
stb header+4 
ldd #pnnt_si2e<8*f f 
std header 

t preset the title »rm» to spacei 
leax title, u 
ldd #s20<8+42 42 t space 

space. put 
sta ,*♦ 

decb 

bne space. put 

t put spaces between date-page 

ldb **20 

std spaces2 

stb spacesl single one there 
1 preset word 'PAGE * 

Ida »'E 

std word_page+3 

ldd #"PA 

std word_page 

ldb #'G 

stb word_page+2 

t process input spec 
ldx parmsx pointer to it 
Ida Ml modMrtid 
os9 i loptn 

bcs error_exlt problem opening 1 
sta ipath new Input path 

t get title (if) 
leay title, u 
ldb #40 max size to get 

46 



t enter here start of each page 

rw_f i le 
bsr newspage set new page 

a enter here each line of file 

rw_l ine 
leax buffer, u read source line 
ldy #128 
Ida ipath 
os9 itrdln 
bcs error_exit 

Ida #mtdout write to std output path 
os9 itwrln 
bet error_exit 

Ida lines update line on page 
l nca 

cmpa #page. length time new page"? 
beC rw_flle yes 
sta lines no 
bra rw_llne 

t exit program with error 
error^exi t 

empb #eot unless end of file 

beq quit ok exit 

Ida #stderr say error 

os9 ffperr 

t exit the prograir 

quit 
clrb set no error 
os9 ftexlt 



t Subroutine section 
9 

t go top new page* updating! 
t 1- date, time 
t 2- page # 

newtpage 
clr linn reset 1 oc on page 
leay date,u get new date 
bsr setdate 

leax number, u point where pa goes 
ldd pageno 
addd #1 
std pageno 
bsr b2d 

ldb #4 max '0' to kill 
bsr killOs make leading 0's«spaces 
ldd 2,x keep lowir-3 digits 
std page b put where belong 
ldb 4,x 
stb page+2 

leax header, u print whole shebang 
bra string remote RTS 



t external cal It: 
ext b2d, setdate, string, killOs 
end Start 



6B* Micro Journal 



Subroutine! Convert binary number to as: 



t entryl 30har84 



I convert binary * to decimal no i 
I tnttri X polntm to 3-byte array, 
I not initialized 
t D« value to convert 

I ilttrn 

nam b2d 

t first tntryi 30r>ar94 
I updatesi none 

t variable storagei 
I none 

I tableBi 

power fdb 10000,1000,100,10 
I begin codei 

b2di 

pshs x f y preserve regs 

clr f -m fc make local storage 

pshs d save value passed to convert 

I inlt the ascll array 
ldd ft u 00 
std , x 
std 2,x 
stb 4,x 

I main loopi get appropriate power 
■ of 10, see if remaining value of 
I passed amount can have this power 
I subtracted! loop. 

factor 
leay power.pcr 
ldb 2,s current offset 
aslb 

leay b,y 
ldd ,i check against value left 

« do the (value - i0"4-(2,*n 

subsome 
cjnpd , y can we? 
bcs next. digit no 
subd , y yes 
lnc , n 
bra subsome 

next. dlgl t 

std , s save updated it 

lnc 2,s update index 

ltix 1 , x fc pointer in ascll array 

Ida 2, a done? 

cmpa #4 

bne factor no 

orb iK should have <«9 left 

stb ,x 

leas 3,s waste local 

puis x,y,pc 

end b2di 
Subroutinei Get and Convert Date/Tlma 



I get system date 

I enten Y pointing to l7-byt» array. 

I el tersi d.x, y 

nam setdate 



I storage: 

number comn S for numeric conversions 

* equateBi 
fttlme equ SIS 

setdatei 
leas ~b,* make space 
tfr s,x time packet 
os9 fttime t get it 

I preparei 

ldb M6 iterations 
pshs b,y count+dtit 
tfr x,y source pointer 

I main copy loop 
set3no 

leax number , u 

ldb ,y+ source byte 

clra 

pshs y 

bsr b2d convert to dec 

pul s y 

ldd number 4-3 

ldx l,i 

std , x 

leax 3,x 

stx l,s 

dec , s done? 

bne set3no no 

leas 9,i fix stack 
rts 

end setdatei 
Subroutinei Print String at X-reg 



9 print string of character! to 
I standard output. 

I enter X pointing to strings at f x li 
I length of string 

nam string 

t entry i 30MarB4 

t variables i 
I none 

I declaresi 
itwrlt equ s6a 

stringt 
ldb ,x+ get count 
clra make 16-bit 
tfr d,y 
lnca stdout 
os9 lSwrlt 
rts 

end strlngi 
Subroutines Eliminate Leading 0's 



t delete leading leros frc 
t ascll decimal string 

I enten max to do in B 
I X points at string 

nam ki 1 10s 



68' Micro Journal 



49 



S entry t 30Har84 

S variables! 

S none 

klllOst 

pmhm b save max 
clrb preset count 

killchk 
Ida b,x see if '0 
cmpa S*0 

bne killK dona if not 
Ida Me20 reset to space 
tta b,x 

incb see if maxed 
cmpb , s 
bne killchk 

ki llx 
puis b,pc fix stack, exit 

end killCmi 

069 01 mk Name Chang* Utility 
t this program allows for changing 
S the nam* of an 059 disk. 
S Calling convention) 
f 089; name <dnve spec> <new nimt) <RETURN> 

S drlvfl spec im valid RGP drive </d0, etc) 
S name is 1-32 character* 

• separata spec from name Mith space or comma 
f Nih name begins 1st non blank, ends & RETURN 



beq getname yes 
cmpa SS20 same 
beq getname 
sta ,y+ put to dest 
bra driv. chars 

getname 
Ida ,x bypass spaces 
cmpa Ms20 
bne gotname 
1 eax 1 , x 
bra getname 

gotname 
stx nameptr 

ldd «*«<S for whole drive 
std ,y ^terminator 

I open Mhole drive 
1 eax drive. *pec,u name 
Ida «3 for update 
os9 iSopen 
bcs error couldn't 
sta opath save • 

* read LSN 

leax buffer.u where goes 

ldy #236 

os9 isread do it 

bcs error couldn't 

leax offmet f x advance to nam 
ldy nameptr fc new name 
ldb #32 max size of name 



nam n*mm 

ttl 099 Disk-name changMr 

lfpl 

type 0S9 Dl sk-name-change Utility 

nif 

t first entryi 6Aprll84 

t variable storage 

orgv 

drive. spec ^mr 16 for copy of drv parm 
nameptr ^mr 2 ptr to name parameter 
opath vmr 1 paths of drive 
buffer ^mr 256 info sector buffer 

1 equate*! 

offset set slf offset In Info sec->name 
Stderr set 2 

t 089 function call si 

f Sex It equ *06 

fsperr equ SOf 

lsopen equ #84 

isseek equ S88 

1 tread equ S89 

iswrit equ s8a 

lswrln equ sBc 

I Strlngsi 

badspec 
fee * Improper sped fl cation' , «d 

•tart 
leay drive. *pec t u cop drv parm-Hocal 

drl v. chars 

Ida , x+ source from parms 

cmpa MMd Invalid? 

beq inval id 

cmpa •', separator? 

50 



novename 
Ida ,y+ 

cmpa «s20 invalid? 
bcs namend yes, end 
sta ,x+ 
decb filled? 
bne movename 

namend 
cmpb N32 any read? 
beq Invalid no, bad 
Ida , -x get last char. 
or a «s60 set MS bit 
sta ,x 

t seek back to start 
ldx «0 
pshs u 
Ida opath 
tfr x t u 
o*9 isseek 
pul s u 

ldy #256 S. write back 
leax buffer ,u 
os9 iswrit 

bcs error 

quit 
clrb no error 
os9 f sex it 

• bad cal 1 on command 

Invalid 
leax badspec .per say error 
Ida tstderr 
ldy S100 
os9 lSwrln 
bra quit 

t some disk error encountered 

error 
Ida tstderr 
os9 fsperr say error 
bra quit 

end start 



'68* Micro Journal 



Roundoff Errors In The CoCo 



Pfter A. SldrK 
Kits Soft-Are Systems Corp. 
P. O. Box 209 
Mt. Klsco, My 10S49 



HMle preparing the second edition of my Book on numerics I 
mettiods, \ recently ron across a problem with tne numerical 
accuracy of the Color Computer (or. more ipec I f leal I y . Its 
Microsoft Basic) which may be of Interest to other serious users 
of tn 1 s consoler for scientific or engineering applications. In 
fiartlculer. Color Computer Basic handles nutter) In a way wh I ch 
results In imtne errors which are not norma tty encountered on 
other machines. 

The very first Program In ««y book Is a very simple 
demonstration of Iwiw a computer generates errors tvtn In trivial 
problems. It slrre>ly adds 0.0001 to Itself 10.000 times, end 
should therefore give en answer of exactly 1. The program is 
essent tally tMs r 

; REM POOGAAn I 
10 5 m 

20 fQ« I - I TO 10000 
30 S . S ♦ .0001 
40 NtXT J 
SO PRIN1 S 



Mhen running this program on «t\ actual 
kinds Of answer s( 



computer . we get three 



1. Many computers < Including some large mainframes ! have 
tried) give an answer less than I. 

2. Some computers give en exact answer of I. Tnls generel ly 
occurs In those systems which take extra pains to round numbers 
to their nearest binary equivalent. Computers which use BCD 
arithmetic (such as 6800 systems using Ulterwyk Basics I also give 
en e*act answer of I. as do most programmable calculators. 

3. The Color Computer, unlike every other co*«ut«r I have 
ever tried, gives en answer of more than I. In fact* Its answer 
Is I. 10000019. 

When yoo consider the reason why errors of tnls type occur, 
the feet that tne Color Conputer gives an answer that Is too 
large It most unusual. if anything, one would expect an answer 
that Is too small, not too large I 

Errors of this tvwe are caused by the feet that most decimal 
fractions I such as .!• •?* .01. and so an I cannot be exactly 
expressed In the binary number system. For example, even the 
simple decimal number 0.1 becomes a never-ending binary number 

. 000 1 I 00 I I 00 I ! 00 I I 00 I I 00 .... . 

with pairs of ones and zeroes repeating forever. Since a 
computer cannot possibly hold that infinitely long number . the 
right end of such a binary fraction Is cut off. This creates an 
error - the number stored Is actually sm M er than It should be. 

That Is exactly the point of my sample program. The binary 
equivalent of the decimal number 0.0U0I <ln most computers) Is 
actually a bit on the small side, and so adding ten thousand of 
these will give a Sum that Is also too small. 

Many cwnputers ettempt to minimize this problem In a fairly 
Straightforward way. lnst»od of just cutting off the right end 
of a binary number when It doesn't fit (this Is called 
'truncating') arid leaving the left end as Is* these systems 
'round off the remaining number to the nearest available binary 
number. (This cen be demonstrated with decimal numbers. For 
example, truncating the decimal number ^.18 to Just two digits 
would give en answer of 5.1* whereas rounding It to the nearest 
digit would give an answer of S.2. which Is closer to the actual 
value or 5 . 1 B . ) 

Color Computer Basic also rounds, but It rounds too far I in 
the above decimal example, this Is as If 5.19 were rounded UP to 
S.3 Instead of to S.21 This leads to a definite error. 

In order to see what happens, run the following program. 
Its purpose Is to display exactly how Color Computer Basic stores 
.0001 In blnaryt 

I REM PROGRAM 2 
10 LET S-.0001 
20 P-VARPTR(S) 
JO FOR 1 • P TO P»4 
40 PRINT M£Xt,lPEEKt I ))t * "1 
SO MCXT I 

(n this program, we set S aqua I to 0.0001. In line 20. P Is the 
address in memory where S Is stored. The FOR-nExT loop then 
prints the five bytes which hold S» In hexadecimal. 

Running the program, we get the result 

73 SI 87 17 5A 

Let us look at this to saa what It means. (1 assume that by 
now you ere familiar with the relation between binary numbers and 
hexadecimal ni*nbers.) 

Color Computer Basic uses five bytes to store numbers . Of 
these, the first byte stores the 'characteristic', and the 



remaining Four store the 'mantissa'. (To allow for fractional 
numbers, Basic does not store numbers as Pure integers, es you 
might do in assembly language. 1 

The mantissa Is a binary fraction, which Is always equal to 
or greater than a decimal 0.5r but less than (. (the only 
exception Is t t\e*t the number zero Is stored with a mantissa of 
0. > Tfkat Is j the mantissa Is always "norma I I zed' < except for 
zero). This means that the first bit Is always a I. Knowing 
that the first bit of all mantissas Is always a one. Color 
Conputer Basic saves a bit or space by omitting this 1 bit and 
only putting In the remaining bits after that. Instead, the 
first bit location (the leftmost bit of the second byte of tne 
number j Is used to hold the sign of the number , 

Hence the bytes Si &7 17 *>a of our 0.0001 give the mantissa 
as foi lows i 
01010001 101)0111 0001 I I I 0101)010 

"\ / \ / N / \ / 

5 SI 8 7 1? 5A 

♦ Sign plti O means plus. I would «*e*n minus. 



Since the first 
actual mantissa Is 



bit of the mantissa, a I, is omitted, the 



.11010001 101 101 I I 000I0MI 01011010 

The character i 9 t lc Is a power of 2 which should be used to 
multiply the mant 1 sse to get the correct answer. To allow for 
positive and negative powers, the characteristic Is offset by 
Ihexl B0, so that a byte of 80 ectuelly means a characteristic of 
0. Thus 81 would be e power of 1. while 7F lone less than 801 Is 
a power oF - I . 

The largest possible characteristic Is FF which (after we 

subtract out the B0 offset) becomes 7F In hexadecimal, or 127 In 

decimal. Hence the largest number which can be expressed Is 
appro* 1 mat a I y 



127 



2 
whl ch 



proximately 1.7 x 10 



In our example, tne leading byte Is a 79, which Is 13 less 
than a hexadecimal 80. Mehce the power Is a -19. and so the 
above mantissa should be multiplied by 
-13 

Z - 

In essence. this adds thirteen zeroes In front of the mantissa, 
with the result that the binary number which represents the 
decimal number 0.0001 In the Color Computer Is e binary 



.0000000000000 I 10 1000 I 101 



II 00010111 01011010 



But tne correct binary number should actually be 
.0000000000000 I I 01 000 I 101 101 I I 0001011 I 0101 1000 III.... 

\ / 

32 significant digits 

*e note that 0.0001 In binary Is on infinitely long number, with 
the remaining portion (beginning with the III....) cut off 
because the computer can only store the first 32 significant 
digits of the mantissa. 

Now comes the Important ouestloni whan a binary number Is 

too long to fit Into a 3Z-b1t mantissa, should the and of It 

simply be cut off (truncated)? mo. as we hsve already seen* It 

should be rounded to the nearest possible binary number. 

(Another decimal example may be useful at this point. 
Suppose we have a decimal number like 3.I4IS9 and want to express 
It In just five digits. it Is obviously better to express It as 
3. MIS than 3.I4IS. since 3.14159 Is almost 9.1416 and that makes 
a smaller error. The rule In decimal Is that If the first digit 
cut off Is 4 or lass. Just truncate. If It Is S or more, then 
round by adding a I to the last digit being retelned.} 

In binary numbers, IF the first bit of the portion cut off 
Is a 0, then we simply truncate. But if It Is a I. than we add 1 
to the next digit to round up. Hence when we shorten the correct 
answer (A below) to 32 significant digits arid round It (because 
the III.... portion we cut off begins with a II. we should get B 
be low i 

Ai .0000000000000 11010001 10 1 101 I 1 00010111 01011000 III.. 
Bt .0000000000000 11010001 101 101 I I 00010111 01011001 

* \ — / 

rounded up from a to a I 1 J 

truncate —I 

♦Ha nee 8 above Is the best approximation to the decimal 0.0001 
that we cen express In 32 bits. But now let us compare this with 
the number as It actually exists In the Color Computer (labelled 
C below>i 

8i .0000000000000 11010001 101 101 I I 000I0III 0101 1001 
Ct .0000000000000 M0I000I 1 01 1 01 I I 000101)1 010)1010 

♦sDTC trfLLt The correct { rounded) binary number ends with 001, 
while the Color Computer's version erw j, w |th 010. The Color 
Computer nes obviously rounded up by an extre one In the 45th 
piece* hence Its 0.0001 Is about 



68' Micro Journal 



too bigl Th1« !» a mistake, and thus addltHJ tMj nuiioer to 
Itself to. 000 times Is ouaranteed to result In a sum «h!ch Is too 
large. (Actually, even If we use a POKE to fix the nK4it*r, the 
answer sttll comes out wrong bacauae the same roundlnu process Is 
used after each addition, and so the error Is still <n*de.l 

the problem Is apparently an error tn Baste* «i rounding 
'outlne. we don't even need a very fancy program to see this 
error - Just try something like PRtWT 4.102. end you will see 
that the computer prints the answer as 4.10200001 Instead, Tne 
t>roP1«m Is *1V»in due to a rounding error. 

Basic seems to use the same rounding subroutine not Jutt 
after a conversion from decimal to binary, but also after 
arithmetic operation*. If you went to experiment *om* more to 
sea how Color Cemputer Basic mewes such errors, here ere a few 
simple Basic lines to try; 

PRINT 0.0001*10000 I should give you an answer of 0. 
Instead. you will get 4.6566I287C- 10. which just happens to be 
equal to 

-31 
1 
This Indicates that trie binary answer. Instead of being Just 
1.0000..., (9 In fact 1 .0000000000000000000000000000001 , which Is 
an error In the 32nd bit. 

Try PRINT 4.102/1 and you get tr>e right answer, Out try I'RInT 
4.102/1"] end you get an error. 

Another way of d«monstrat tng the same effect *s to 
substitute trie I Ine 

10 LET S - 0.000) # 10000 
in program 2 above. ft will then output the result 

61 00 00 00 til 

which also Indicates that the rightmost bit of the 32-bit 
mant 1 ssa I s a I . 

Small errors in the handling of fractional numbers arm 
unavoidable and normal In binary conrputerst they ere an Inherent 
part of the way In which binary computers handle so-called 
*f loat Irtg-POint' numbers. Experienced programmers anticipate 
these and work around them. But the rounding routine In Color 
Computer Basic Is downright wrong » and potentially dangerous 
because It Introduces errors of a type not normal lv present, and 
hence not anticipated by even experienced programmers . 



111? College Ave 

fteglna, Saskatchewan, Canada 

S4P 1A6 

February 13, 1985 

Don Yllllans 

As a subscriber to 66 Micro Journal since 1978, 1 have noticed 
subtle changes in the journal and the rise and fall of Color 
Micro Journal. These changes must come about due to advancing 
technology and the desire of the readers to keep abreast of new 
developments. 

1 read everything 1n 66 Micro Journal. My direct needs are are 
support for the Flex system on a 6809 SS50 system using X8AS1C, 
TSC Assembler, TSC Editor, TSC Sort Merge and TSC Text Processor. 
The educational needs Are for OS-9 on the CoCo. Stylograph and 
Dynacalc run on the CoCo. I have accounting packages to run on 
both machines. I suspect that I am typical of m&ny readers and 
cannot use much of the information printed. However by reading 
through, a little bit rubs off and sinks in to ny thought 
processes. 1 would like your readers to understand that your bit 
bucket prints what you receive. Many of us have solved what to 
us was a tricky problem 1n software or hardware. The bit bucket 
can be considered as our user group newsletter and It 1s up to us 
to contribute. 

It Is over 2 years since you printed anything front me so here 1s 
■y contribution. The TSC assembler furnished with ny Glial* Flex 
printed a string of zeros following the date. Examination of the 
object code revealed that the assembler was looking for the 
5816? hardware clock on the Giml* CPU. My CPU was SWTPC and my 
hardware clock was a JP7 using a 5632. A disk utility that 
printed the time on the terminal was modified to write the Ume 
Into Flex scratch and the assembler was patched to took at the 
Flex scratch rather than the 58167. If the clock was read for 
each header there would be a different time on each page. This 
method requires that the clock must be polled before the 
asseobler 1s used. A key factor was that the 5832 software 
presents the time digits 1n reverse order to the 56167 registers. 

The software for the JP7 has been printed 1n 68 Micro before. 
Anyone desiring help on this should send a formatted S" disk 35 
or 46 trfc SS or OS along with S2.00 for Canadian postage. Please 
include sane public domain software on the disk. Also a text 
file desribing your interests and your system* 



Damon Hill 

3261 Circle Oak Dr, 

Atlanta. GA 30339 



nw 



Dear Sirs: 

I was enjoying your January 1985 Issue of Color Micro 
Journal, especially Carl Mann's column on page 26 
because I use Telewriter so much. Unfortunantly, a 
good portion of that page and page 7 were obscured by 
a bad printing job and I'd like to at least get a copy 
of those pages. 

As Carl Hann probably knows. It's also possible to 
use Telewriter's loader program to POKE in 6ns stepping 
and transferring drives 2 and 3 to the back side of 
double-sided drives. Until I Installed ADOS, that was 
my standard startup procedure, which gave me a welcome 
Increase 1n disk storage and a convenient means of 
backing up text files. The exact POKEs depend on the 
version of Disk Basic one Is using. 

I'm very sorry to see that you've discontinued 
publication of CMJ. I looked forward to reading Mann's 
column and the Bas1c09 column. While 68MJ Is of at 
least some Interest to me. I may not renew my 
subscription If you completely discontinue coverage of 
the Color Computer. 

Like a lot of owners, I can't really afford to buy a 
Glmlx or one of the other big SS-50 systems, the CoCo 
was and is the best way for those with a limited budget 
to get Into computing cheaply and efFectlvely. If we 
can't get good coverage on hardware and software, ft' 
going to be difficult to make the transition from games 
to programming and serious applications. RAINBOW and 
UNDERCOLOR provide some of that coverage, but more Is 
needed. 

Some day I hope to get a larger and more capable 
computer, probably a single-board design and hopefully 
68000-based with multl- megabyte memory capability, hard 
disk and greatly Improved graphics, the latter being 
one of my Interests. The Macintosh Is NOT what 1 want 
1n a computer, however. Too expensive, too limited 1n 
design and expansion capability and generally just too 
"Apple". 

Your coverage of single-board computers In recent 
Issues of 68MJ Interests me, and I'd like to get the 
related back Issues prior to the March '8S Issue If 
you'll let oie know how much they are. 



0— , ^ 



52 



Weldy Noffatt 



20426 Lichfield 
Detroit, MI 48221 

Don Williams, Publisher 
4 68 MICRO JOURNAL 
Hlxson, TN 37343 

Dear Don, 

I've been a long-time reader (since your first Issue) 
and sometltie contributor to MICRO JOURNAL, and 1 enjoy 
{along with about everything else I find there) your 
editorials. You sound like a dyed-in-the-wool Motorola 
fan, probably like a lot of your readers. I found your 
ravings In the November Issue particularly Inspiring. I 
always knew I picked the right machine back In '77 
(SwTPc 6800), but It's nice to hear someone else holler 
about it. 

I had an Inspirational (?) experience recently that 
I'd Hke to share. It'll probably have the same effect 
on you that It did on me. 

I work as a technician for a large 
telecommunications company that was once part of a lot 
bigger company. If you know what I mean. They recently 
sent me to a two-day school to learn about a piece of 
ancillary equipment that we will soon be responsible 
for. It's made by a company called Tlmeplex, and It's 
called a Statistical Time Division Multiplexer. Its 
basic function Is to take up to 24 channels of serial 
(RS-232C) data, and multiplex them onto two 2^w1re data 
links. It comes 1n a box that looks something like a 

68 Micro Journal 



home computer. Inside, it has a motherboard and bus 
architecture, with seven slots for plug-in "modules'. 
One of the nodules 1s called the control module* and 1t 
controls up to six other modules, each of which carries 
four channels of data. The control module has a four- 
digit seven-segment LEO display, four thumbwheel 
switches (with hex digits) and two switches for 
programming. From this 'front panel', you can program 
any parameter of any channel-baud rates from 50 to 
19,200, number of stop bits, parity, 
synchronous/asynchronous operation, number of data 
bits, etc. It's programmable to accept ASCII, EBCDIC, 
or Baudot code. You can also run diagnostics, which 
report the suspected trouble TO THE COMPONENT LEVEL. 
I mean, it will tel? you which IC to change! Of course, 
on power-up, the main module automatically diagnoses 
Its half-dozen major subsystems and reports the results 
on the LEO display. The parameters are stored 1n a 
battery-backed-up RAM that will maintain its data for 
90 days, so you don't have to re-program everything 1f 
you power the whole system down. There's also an 
optional 'supervisory port' on the control module which 
allows you to plug In a CRT, keyboard and printer. 
With the keyboard, you can use an extensive built-in 
'command language** which allows you to do everything 
the thumbwheel-switches allow and much more. Such as 
obtaining histogram- type Information about traffic, 
errors, etc. on any channel or either data link. Any 
channe? of data can be explicitly routed through either 
of the data links, or all may be routed through one 
link. It also has an optional feature called 'traffic 
balancing' where 1t will switch channels between the two 
links to balance the traffic. If these multiplexers are 
used at both nodes (both the transmitting and the 
receiving end, usually miles apart) the built-in 
diagnostic facilities allow you to 'loop* the circuit 
both locally AND at the far end. This 1s used to 
eliminate certain stages of equipment 1n searching for 
troubles. 

The Instructor for the class (who works for the sane 
company I do, not the vendor) was ecstatic about this 
little box. He rightly attributed Its tremendous power 
and versatility to Its microprocessor-based hardware. 

The hardware? The control module has about X6K of 
2716 EPROM and I6K of 4XX6-type dynamic RAM. Each 
channel module has 8K of onboard RAM for buffering. 
Which channels use how much of the buffer under what 
circumstances is also programmable (from the main 
module, of course!) 

Oh yes, the control module and each channel module 
has its own microprocessor. A 68000 you say? An 8086? 
A 2-80? No. Each board has one 111' ol' 2-MHz 6800 (a 
68600). Not a 6809. A 6800. It's also chock full of 
6821 PIAs and uses 6854 Data Link Controllers, too. 

Strangely, the documentation 1s also a 
technician/user's dream. Is this something that 
automatically happens to products built around Motorola 
microprocessors? The manual was written as If they 
were damned proud of this thing and they want to make 
sure you Know all about how to use It and program It, 
so you'll see how fantastic it is tool 

Yours, 



Keith Alexander 

Letter from: 
Technical Systems Consultants, Inc. 

February 28, 1985 

Dear Don, 

I have noticed that "68 Micro" has been 
starting to cover 68000 related topics so 
I thought I would pass along some 
information your readers might find 
interesting. As you recall, Technical 



8 



Systems Consultants designed UniFLEX(tm) 
for the 68000 but the original 
implementation was on the 6809 since the 
68000 was not yet available. We started 
the 68000 version in August 1981 and had 
it fully operational in July of 1982. 
Since that date, we have continually 
improved the system and have developed a 
full line of support software. When the 
68010 became available, we developed a 
demand page , virtual memory version of 
UniFLEX. This version has been fully 
operational since June of 1984. I would 
like to point out that the primary 
difference between the 68000 and 68010 is 
that the 68010 is designed to support a 
virtual memory environment which the 68000 
can't. UniFLEX is currently the only 
available operating system available from 
a software house which runs in a demand 
page, virtual memory mode on the 68010 and 
68020. (There is one other available. 
Berkley 4.2 Unix(tm), available "as is rt 
from the university.) 

The speed and efficiency of UniFLEX 
running on a 68010 is absolutely 
incredible, but the real winning 
combination is UniFLEX and the 68020. The 
erformance is awesome 1 We currently have 
niFLEX running on several different 68020 
systems in house and are in the process of 
rewriting every module of the Kernal to 
take advantage of the extended instruction 
set and addressing modes of the 68020. 
Very shortly 1 will be sending you some 
kernal timings comparing the 680Q0 t 68010, 
and 68020 versions of UniFLEX so you can 
see for yourself. 

The kernal size for the virtual memory 
version of the system is quite compact 
considering its complexity. It resides in 
approximately 36K of memory. We have done 
scaled down versions for process control 
which will run in as little as 8K of ROM. 
A lot of people don't realize the 
versatility of UniFLEX but we have done 
many dedicated, scaled down versions of 
the system. As an example, it is the 
controlling software in the SWTPC PPI 
board and also in the GIM1X IOP. Both of 
these are small ROM based versions of 
UniFLEX! 

We have added a large number of 
features to 680X0 UniFLEX including new 
system calls, and an expanded standard set 
of utilities. The list of added features 
is too long to describe in detail but a 
close examination of the enclosed UniFLEX 
manual will allow you to see for yourself. 
Besides the standard utilities, we have a 
full line of support software including 
Extended BASIC, BASIC Precompiler, COBOL, 
FORTRAN 77, C, Relocating Assembler, 
Linking Loader, and Sort/Merge. What's 
most Important, these products have been 
running on the 68000 for quite some time 
(some as long as 3 years) and are 
available now. In the works are the 
Enhanced Printer Spooler (probably 
available by the time this is read; and an 
ANSI Standard Pascal Compiler. 

In addition to our product line, there 
has been considerable support from outside 
vendors in the way of major product 
development for UniFLEX, To name a few, 
Franz Inc. has ported their Franz Lisp (a 



68' Micro Journal 



53 



full Implementation of Common Lisp for use 
In Artificial Intelligence), Logicware has 
ported Prolog (again for the AI 
community), and Network Research Corp. is 
in the process of porting their extremely 
powerful networking package. Smalltalk 80 
is available under UniFLEX on the 
Tektronix 4404. In development (by a 
company we can't disclose at this time) is 
a DOD verified ADA Compiler which should 
be available in the near future. As you 
can see, this list Is quite extensive, but 
it is only a partial list. We have quite 
a few other development projects going on, 
both in and out of house, which aren't 
auite ready to be revealed to the public, 
we will keep you informed. 

One product of particular interest is 
oar C compiler. Developed in-house, 
specifically for the 68000, it is an 
extremely efficient compiler. We actually 
have two C compilers, one ■ for the 68010 
(and 68000), and one for the 68020. The 
68020 compiler takes full advantage of the 
additional addressing modes as well as the 
added instructions (i.e. for bit fields, 
etc.). Both compilers are full Unix 
System V compatible* The System V 
compiler has several extensions over the 
"KernLghan & Ritchie" definition, 
including enumerations, structure 
assignments, passing structures to 
functions, returning structures from 
functions, void types, and fully qualified 
structure and union members. The C 
Library, also System V compatible, is very 
extensive. I have also enclosed the C 
compiler manual (as large as the entire 
UniFLEX manual) so you may see for 
yourself the completeness of this product. 

If you would like to try out 680X0 
UniFLEX, there are currently several 
systems available (with many more over the 
next several months). We have a wide 
variety of systems available for various 
VME based systems, including Motorola, 
Slgnetics, and Force card based systems, 
as well as a version for the Motorola 
VME-10 system. There are versions also 
available for Tektronix, Pixel. and 
Momentum machines. The Tektronix 4404 is 
a good example of how UniFLEX has been 
expanded to support bit-mapped graphics, a 
mouse, and other state of the art 
hardware. Tektronix is selling the 4404 as 
a personal AI work station, but since the 
system comes with our C compiler and full 
utility set, it is a great development 
system. GIMIX has announced their 68000 
system which will of course run UniFLEX. 
We are currently finishing four ports to a 
variety of hardware which we will be 
announcing to the world shortly. 

Several of our support products are 
also available to run on a variety of Unix 
or Xenix(tm) based systems and more are 
becoming available almost weekly. One 
example is our Extended BASIC and 
Sort/Merge for the Tandy 6000 (and Model 
16). Since our BASIC is written in 
assembler language, it runs 5 to 7 times 
faster than the BASIC available from 
Tandy. If you have a need for any of our 
products on a 68000 based Unix system, 
give us a call. We may have it or be 
working on it. 



Hopefully this letter has been 
informative to everyone. It should bring 
you up to date as far as 680X0 matters are 
concerned. One last note. We are still 
developing new products for the 6809. We 
have two new products we are quite excited 
about and they are almost ready to 
release. You should be hearing from us 
very shortly about these. 



Sincerely, 

Dave Shirk 

Patent and 

AT&T Hell 



UniFLEX registered in U.S. 

Trademark Office. 

Unix is a trademark of 

Laboratories. 

Xenix is a trademark of Microsoft 



VlfcTVAL MEMO*? OP OUT I *C SVSttX 

TAXZS FULL ASVAJTTJGE <# TM MQtOtOU 6601 «p< fcMZO 

Ch.pi-l lilt — Ttcfeftitll lyatfaa Committal., Ik,, b*a tfltmd & virtual 

•ortry v.raloo of tta UoirLEX* O9ec.ti.11t tfl*m *M<» »• ap«:lf tcalty 

opli«ia«d for tb. arcbitaclur.a of tba Motorola 46010 .ad (6020 

*lrrQ.roc**.or*H Tba oprrat inf ayatao pf.a.atly m«i da rh» foinrbia 

tmniJ0/0i0 ( tt* Kotorel* ™»ID, a*d rniXE E^apul.ra' Crv-3 •?•!«* f.r«Lona 

for other nanufaclurtr'. VW bardvarv in M.oo.4. 

Thia r.la.a* i. lt>« Cu Initiation of y.ar. of va»*ar«b a ad d.f.loptHttt lata 

#oftv*rt dc.i*ord afc<luai.aly for tb. Koltrofa 6&*fc *»4 «6*«» family of 

• icroproceaiora, Althoultt tb. DbtltlX lyatnt off.r* «Cat of (ba I.atur#a 

fouod io UH1I- lyiCMft Ma a*rfO(*M«C« i» drastically t> .C L . 7 due to ap 

aa.rably ladtua^. iiplnHtit to. «q4 •ptiUic opt »»»*•( ioo for tb. Motorola 

tUmn faally. 

Th« VniFLEX ayatc* U tb. ooly currently av*«]ahtr «prr»tiDC .oviroaaMDi 

•pacifically d.aiiaad for tb* $8*** .hit* amy b* Adapted lo initial raojuaft 

Iitb BOH ba.ad appiicaliopa, to «itt*U-u«ir. nkUtnkil wotbatalioaa* to 

fall aa>lti.-ti..r l *m>lli-( *atia|. lias-ahai ibj ay.tasa. A typical bar**], 

without a.y da.it. <\tiw*r* .111 leaid* in approai*.l.)y 26* of «a»^>ry, 

tacboical Syat.ua Cooiultuci, Inc.* u.i foroad lo ] 976 4od ap.ciajia.a lb 

op. ratios ijitni, lao*uai«.. and vtilitiva for tba HotoroU e6u *od Mm 

tmilf fif *lcrvprac...chrPr Tha autti-aa.r, antll-taakto*, DpirTEl Qaara1 lb« 

lyarn ba* ban rvDDiu. ea 6604 b*iad bardwar* amr* S»pt nt>ff, 1**0, *mt on 

66000 b*..d bard.arr aipca October* 1962. fortbar toforaalioo aay b. obtained 

traat TvcbaieAl ty irm» Copaoitant., tc<. . Ill rro.id.ocf to.d, Cfc.p.l iill. *C 

J75U 919v493^1451 or TV* *10-«0-0}40 T6G CfQ.. 

•WIl la a tradfurk of A7IT/6.M UftoratoriM. 

'WttiMl i« a tradturt $t laroa Corporal left 

"DqirtEt ■ajiai.rad io ta* 0.6. Faint asd Tradnarh **ttaw 



IICRO IMTpMNATlOrVAL 



^"aaChT gb*ii - m: 66f46fl 



-War In 



Micro Internattofial announe#a the availability of a tew 
-oat hematic library which la compatible with the following c 
compilers LATTICE. KICHOSOFT, C66. 0ESHET, INTHOL. arid 
McCOSH/HlCROWARC compilers under PC DOS, MS DOS f FLEX and OS-9. 
tn* source code is included tor CORDZC and POLYNOMIAL technique*. 
Price of this package is H00 and the contact person la KAftL H. 
ZUAN, MICRO IMTERNATIOKAL. 90X 47. EAST FAIRFIELD, VERMONT 05«*ft 
^02-32T-38?7. 



Product Oeacriptlon She«t Attached. 



54 



'68* Mrcro Journal 



MlCaO IfJTKP NATIONAL 



Dear Don, 



•Or *> , I**T 4&M4LO 4«<on 0**4 ► AG? V>W! 

HtCiO IHTFiHATlQMl C-LAJGUAGC MATHPiaTlCS UBMRT 



Tha PTICPO irrEMATIOHAI. C-«ATHE»tiTIGS LTHMT conaiaia Off) 

1. *n lneludt file, tUTH.H, which daMnaa i nuAbir of uitful 
■athaaallcal eonttinti and dtflnts tht functions In th« 
aalhanallcal library ■• returning flo»ti. 

?. A library of ■ithmtlctl functions, LIBKATHCR, fanaratad 
ualng CORDIC tachnlquta. 

J. A library of ■■thaaatlcal function*. LIBhATHCK. genaratad 
ualng polynaonlal approi laat lona. 

A Hating of HATh.H and tha oontants of tht ltbrirlrs, LIBkATHC, 
and UBHATHf art lncludad in tha appandlt. 

Tha flla 7E37»C la a iltpla tmst program which eeaonatratea trta 
uat and accuracy of tha function*. Two aaapla outputs art 
providtd: 

T£STC.A*S gtntratad ualng tht TEST.C prograa and tna 

CORDIC llbrtry LIBHATHC 
TfSTr.ANS gantratad ualng tht TEST.C prograa and tha 

II!HATH» library. 



Could you please send me Information about the 
Wlndrush Screenedltor HI that S.E. Media sells. 

Thanks very much. 1 am new to the 68XX fraternity, 
having picked up my 6800 (40K), MF-68, and CT-82 at a 
local garage sale for S30.00!!! It took a while to 
locate your journal - It has been a lot of help thus 
far, even though most of the articles deal with the 
6809. 

Cordially, 




Tht aourct Mlt* for both tht CORDIC and polynomial llbrarlta art 
lncludad on tha dlae, along with atvtral aistably 1 anguagt 
aupport routinaa. 

Tha C-Languaga Kathaaitlca Library la available undtr tht 

following oparatlng aystaaa: re DOS, *S DOS. FlEJC and OS-9 Tor 

uaa with tha llTTICl, wlCaOSOPT. C86. DESKET. IkTKOL and 
NcCOSK/MICROVAtE conpllara. 



Dear Don, 



Readers of '68* MJ who still enjoy 
wielding a soldering iron and would like to 
add graphics to their S-50 bus '09 system, 
might be interested in a design of mine which 
I am willing to make available to fellow 
enthusiasts. Briefly, the board is a simple 
bit-mappedr single-Plane (B&W) video graphics 
generator with I6K of screen RAM (2 x 6264) 
giving 512 x 256 Pixels. It is based on a 
6845. Screen refresh is M transparent " \ i.e. 
the CPU is not retarded and there is no 
disturbance to the display during CPU access 
of VRAM. Extended addressing is supported. 

Actually* the main reason for developing 
the board was to improve my "C programming 
ability. Apart from a small "core" of 
low-level drivers in machine code, the 
graphics support routines (symbol and line 
drawingi etc) are written in "C". 

I would be pleased to receive enquiries. 
If there is sufficient interest shown, I 
could be persuaded to get a quantity of 
boards fabricated for distribution at minimal 
cost. (Enquiries from potential US 
distributors also welcome.) 



Yours sincerely, 



jt/UckmU T fi«Mj^ 



Michael J. Bauer 
P.O. Box 221 
Ivanhoe 

victoria, 3079 
AUSTRALIA 



^C^~^ — - 

Craig C. Henrlkson, Ph.D. 
37 Herrlck Avenue 
Oelmar, NY 12054 



1810 N.E. fremont 
Portland, OR 97212 

Dear Sirs; 

Concerning E. M. Pass's enhancement of SHTPC's 
MIRROR.CMD, you left out a 'bis xloop0' before Vestor 
ldb trgdrv' and 1 think the four lines before 'chks16 
Ida maxsec* go before 'chksl? tst single*. You are sav 
Ing the Target SIR and replacing it after the mirroring 
Is complete. 

Also I modified TSC's PR.CMD to handle superscripts 
and subscripts and would be happy to share sane If It's 
of interest to your readers. 

Also, why is 1t that your subscription rate less as 
to go fro* 1 year to 2 years than fro* 2 years to 37 

Yours truly. 



Gary Lemolne 



4522 N. 22 Street 

Milwaukee, WI. 53209 

68 Micro Journal 
5900 Cassandra Smith 
P.O. Box 649 
Mxson, TK 37343 

Help: 

I have a problem which I hope some of my fellow 68 Micro 

readtrs may be able to assist me with. 

fty Clmlx system is great, works well and Is very useful. 

But, using the G1m1x video board and drivers for 

terminal emulation leaves a lot to be desired. Using a 

PI A for keyboard Input and the primitive "terminal-like" 

functions Is very limiting. 

Surely others out there have felt this problem, and 

perhaps solved 1t be rewr1tt1r>e th* software. I would 

sure like to hear from anyone willing to share their 

experience with me. 



thank you for your time. 



Sincere 



OJ -L ^ 



Jim Bert rand 
WA9CXG 



'68' Micro Journal 



55 



Gentlemen; 

Has anyone Interfaced the following printers with the 
StfTPC 6600 CPU with a serial port, 1st choice, Parallerf 
port 2nd choice. Printers are: Radio Shack, 
Gorilla/ Banana, Star Gemtnf-lOX, Okldata, Epson. 
Would appreciate any help. Thanks. 



• •• CLOBl - O/P c* 
CL061 LDA i*OD 



SI nee rely > 




J ^^jL^^t^r 



John J. Florlno 
518 - 85th Street 
Brooklyn, N.Y. 11209 



MEBTCH EBTEfi Applied Huilnt «■ Svf mti 
2 Pea Pond Unt, Br,*rdi/f rU»o* . K-V. 10310 



Ffb'utrr 21. IV49 



TO: Bah Ho 

RE: SMTP* P.CHD 



Dear Fob. 



When Ke firet purchased our SWTPc computer back in '7?r Ne never could 
get the printer driver (P.CMD) to work with Our Centronics 737 printer. 
B»sic*t)y p the computer ma* not Acknowledging tho GUST lead, and would 
hang up after on ■ character wu sent, A* a niutl. we wrote a driver 
with timing loop* for chir*ttirt And carnage return, tht latter bated 
upon number of character* tent. We've been ufting this driver for an 
years, which it tcmiwhit iIoni out adaquata. 

Recent mechanical difficulty with the 737 carnage return* however, 
hat caused overwrite* and lomt data in thi* unacknowledged mar had. and 
prompted via to invest in ar< Epson fX-8fl». iThankb far the recommendation 
and prompt delivery* Thua, We reinvestigated the P.CMD iseua - This time 
a little older and wiser' 

A* it turna out. we misted a au&tia point: The SWTPc documentation for 
the MP-LA board ahowa a BUST lead indication with a little "bar- over 
the word 'BUST*. Title of course mean* 'inverted BUST' or "NOT BUST*. 
Apparently the P.CKD illustrated w at written before parallel printer 
standard* were adopted, since meet prlntere wee a r.on~»nv*rted BUSY* 

(farther study of tho documentation revealed tomi other interesting 
pointa auch at? ttve fact that the computer itti the ready indication 
aa a roault of a TRANSITION of I he buey lead - Something He, in '79 
did not understand from the documentation «t the time, J 

With minor modification* to the bit pattern* atored into the control 
rafiiater inverted Z-bitl Mi were delighted to m the Spaon come to 
life and literelly pour out information in perfect form. Further, the 
tame driver worked perfectly with 737 - with about a 20% increase in 
epeed dieptte ottssional alow head return* 1 

A listing le encloaad - lomt of the Original labels are renamed due to 
many coding iterations* Out it ia essentially the tame aa the SwTPc 
driver. The major change* %rm> circled. Tog may with to drop thi* ia the 
*Blt Bucket" taction fo» tho*e who have had similar protilima. 



Beat Regard* ■ j Ml *t CI ; 



Bill Aden* 

P. 9. Tht* vii printed with the revised driver on the 137 - The listing 
w*i done on the £p*o/i uaing the same. The Epson i* about three timea 
fitter, enhancing our programming effort on XDMS-1V Li nad to gat it ml 



UTILITY R112 



I .OUT - 03<-2t'-flS 



aea p.cnd - faKtk.in. KfciNTtK drive* 

• Ol/:i/(»S b« bill Adri«* 

• ?<*• C Ml I i i UU* *V I On* U»lnC)t 

m CAI - WJ9Y lead (Nm JnvcrtedJ 

• CAl" - 6TfcQ»E C Invar tmdl 



C300 
C3*0 OCM» 

C305 IA OOlf 

jcsoh 16 oott 

C30b 16 OA37 



C3QE 


EOIC 




CJlu 


0* 




C31 1 


♦o 




C3l2 


►f 




CJli 


•o 




CSle 


34 


12 


C3lo 


AC 


ec 


C3I* 


SO 


^ 


cue 


A7 


01 


C3ID 


B6 


FF 


C3IF 


A7 


04 


C32l 


84 


JC 


l:_: 


A7 


oi 


tS/3 


33 


<f2 





CRC* 


■C3tr# 




SIZE 


FOB 


f NDS IN IT 


-P. COR ItJlE^FflCE 


ini r 


LW* 


|H|f 1 


thlfniV S^CTGRS 


CLOB 


Laua 


CLDSI 




puic 


L»SA 


PUTCl 




f/CMr 


LhtiA 


PCH>- 1 




PORT 


FDB 


eeOiC 


-Opfjulv Po*-t 17 


SIDE 


FC* 







KbVL> 


FCB 


Q 




FL fit 


Ft* 


• FF 




CNIfi 


FCb 








■ •■ 1MIT1 - INITIALIZE *1A t. PftlNT£R 
INltl PSHS «.A 

L0/( "niy ^*" -INI) P1A 

Li>A ^»3B j «8EL DDRS 

BTA f »f 

LDA eeFF -5tf OUIP\JT 

fifA J*r*-^ 

LDA f a)f5C J -SEL OAT A REGS 

StA ^ | ,i " ^ 

PULS «,A,PC 



C3^» 


BD 


IA 


C32B 


-ft 


FC 


C32D 


^• 


IA 


C32T 


AL 


ec 


C332 


A? 


84 


C334 


6F 


sl: 


C337 


90 


23 


C33^ 


Cift 


3* 


C33» 


A7 


01 


C330 


BD 


ID 


C33F 


Hb 


M 


'. -V| 


u:> 


• i 


C3<3 


35 


•* 


C24S 


34 


10 


CJ47 


6U 


m 


C^eA 


2B 


OE 



*ae PVTCl - PfUNT A-ftCP 


CHAR 


FVlTCl B9R 


PO*l 




ML. 


PUTCl 




PQW8 


X,B,A 


-PVIT 0*AR 


UH 


PORT.PCR 




HTA 


o.x 




CL«^ 


FLAS-rPCR 




BSR 


Ji^m v 




LOA ( 


C^2i-^ 


-STftcee lo 


STA 


" i,i-^ 




BfiR 


^PXa**-^ 


-MAJT 


LDA / 


^oe3C^ 


-STROBE KI 


»TA V 


■^rir^ 




PJL8 


X.B.A.PC 





JT1L.1TY 01 128 



• •a P>CMK1 - CHECK FLABr*PDRT 
PCMK I PSH9 H 

TBT FLAfJ,PCR 

BKl PCr«<» -R€ADY 



P.OU1 - 02-SI-B5 



•7 



C4C4E 
C3*F 60 
C351 2A 

ct.:^ &L 

C3S3 CO 05 
C157 63 BC 
C3SA 33 90 

C33C 39 



ERROR (Bl DETECTED 
BYrVBOL TABLE t 



LOX 


PCRT»PCR 




TST 


iiX 




BPI, 


PCMKV 


-r«]T RtADY 


T&T 


♦ .i 




BSR 


RTAN 


-RII&Y-ACKNLfl MA IT 


con 


PL.AB.PCR 





FC8 

END 



CL06 


C3f» 


CLGSI 


C3?7 


OWTR 


C313 


CMOS 


C35D 


FLAG 


C7I? 


INIT 


C302 


INITI 


C3M 


PCMK 


C3QB 


PCXKt 


C34S 


PW* 


C35A 


PORT 


C30€ 


PL| C 


C30B 


PUICI 


C379 


RSVD 


C311 


R1WX 


C3SC 


sine 


C310 


SIZE 


C300 















Svoln Solated 
Thoreleln Stonfcokavei 60 
M.3600 Kongaberq 
N0fl**T 



1 have hod the Oleasaure to reOd your *>»gaaine for a few month*, and I 
like what I hove read. But there are thlnge wMch I would like to eee 
mora about* 1 an thinking of 680 DO beeed Machine* which are running 
ioai kind of JKIX. There vis an article In the January ieaue which t 
found interesting, naaeiy a short rewlew of UMIX. If you can print wore 
articles of that fclnrt. 1 would* be very pleeeod. 

I do have *«eh a aechlne. b^ted on the l/UE-bu* (Europe) with a B800O CPU 
mnn the nere«aery RAA, Hm»r, \*rl«>PDrH, floppy mnf Winchester. It ie 
running one of the UNIX lookellkea. noeiely 10RIS . Thl* operating ay aten 
la delivered by Whl te&nl th ♦ and 1* easily edapted on aoet oBOOO beaed 
»*chlnee. There Is not need for a etemory managewent ayeten a* for «o*t 
UNIX »y*t.e»*, 

iflfltS i« 9 small *y*teai let* then 2 nBytea, end the need fof lorge 
disc* 1* Aut preeent. Actuelly, the first tine 1 started the ayato*. 1 
had only 2 floopydrivaa. 6?0«Bytet eech* and it wee to live with. I had 
to split tne eyaten into throe different dlaca , end change between them 
and «y awn detedlece when neceeaary. But of course, the w IrXhatter , 
SABytea, wea ordered within on year. But since IDRIS 1* that aaoll, 
there ere Mat llaltatloni in it, compared with other Unix eyate**. But 
the moat useful stuff ie there. But the nice thing* like sad. awk, lex, 
yacc *n4 meko Is not there. But If you sre used to clay with UNIX, you 
will feel yourself at hoeta. 



The eyetem he* possibi II tla* for compiling proanmi written In 
end C, The compiler ia powerful with poaaiblMty to tune It f 
epeeiric neede. There ie also en aeeenbler e* pert of the Co 
eyatem, and a linkor of Count, The Pascal Is very Limit 
eii the nice #4tantione which atkis the lengue^e useful. f 
the case with the C. which does not leek anything, but diff 
from other C,co»pilere, b t it absolutely to live with. 



that 
far* 



i* not 

i little 



supplied with the eyetem, £« a ecreen editor, 
tor le there of Course, but very eoon, you want to 
o pley with. To solve thi* Problem, I got a 
U.K.. which was named Thief (! did not etolt it!), 
editor, end very powerful, I have Played with a 
r&, but none of them cm beet thle one. Vou oeybe 
qe nimi, just as I didl It is short for* for •Thi* 
• r*4 Find is an another screen sdltot. rhare 1* 
» editor loclcsl The possibility to define a 

the screen and copy thi* to anywhere elee In the 
The editor he* elso slnpel text foreettlngt loft 



One thing which is not 
The Btondertl lino edi 
hove a ecreen editor t 
screen editor from 
Thl* le en EflACS*like 
few other screen edlto 
wonder about the etrai 
Here l»n*t Even Find 
only one function thi 
rectangular part of 
file or on the ecreen 
end right adjustment. 

Triere Is one problem I do t>mv, there le very few, actually none, 
softwore package*, which oxueute under I0RI5, eveileble here In Norway. 
Whitesmith hee aendt out a short list of things they claim sre 
availably* but [ guess there are more out there. 1 em eefleciellr 
interested In databases, celuletlon Program* and text formatter*. If 

there mrt anyone out there who know* about sources of auch stuff, please 
tell me. I can't see mnf reeeon to make thle toola myatlf, airten they do 
e^lst someuhere. 

Another thing which night Interest you. Is ■ short description of the 

herdwero I use. It is a aingalboerd system, where everything reeldee sn 
the bootdr except the dower suOoiy. floppy and Winchester with the 



56 



'68' Micro Journal 



controller. On board you will find the 6800D , Sl?*8y1e ORAM. WBKByte 
CPflOfl, two serial port*. tlaer. peralell port md the VH£ lfit*rr«ci. 
The litter 1* not used now, Out will bo whin ir« lending t*6 systea. Tn * 

life or the board Is smell. l60*n by 235*n>< itanderd dobbel Euro&oard. 
So together with 3.51nch drives and a switching power supply. 11. btcnmii 
a wry compact •UNIX* mcMtii< npneapentl va too (about $77(30 h»re in 
Norway, but we h»ve higher prices on hardware than In ll,S,J. 

If there ara people out there, who would lika to Know aorp about th.ii 

ho*vbrew projact. Just send ■ note ta tne oddtes below and tnfur<r>|utiun 

wilt oe sand you, The PCB Is available together with the documentation 
and lisence. 



Melt, nan you know about ■ aystea itfMch differs lox Troa what 
you ere familiar with. 



of 



\nt otrtat ion addrasi 



By v I rid Moo 
ueungsdelsvelen 1 
N-3000 KonQeberQ 
Norway 



*5 coex road. 

EgVLAJfDS. 

CAP! TOWN, 7700 

SOUTH affile*. 

6TR FEBRUARY IMS 
DRAR DON. 

PLEASE flap SWCLOSBD A JUfHASHBP VBRSIQif OF NIC£> V33BL'3 
UK UTILITY A3 PUBLISHED IB THB NOVEMBER S4 ISSUE OP da HtCRO 
JOURNAL* I WOULD ALSO LIKE TO BR1H& TO YOUR ATTENTION A PHOBLBB 
WITH BEN 3LAGHSKKBS DO UTlLlTy AS PUBUS*ID t* THa" JANUARY »i 
ISSUE. THE UTILITY ASSURES THAT THE Y INDEX REGISTER IS HOT 
DISTURBED 9Y THE UTILITY THAT 13 C*LLfO BY FLEX'S 0OCKBD-. TO 
CORRECT THIS PROBLEM THE Y INDEX SHOULD EI PRESERVED BEFORE 
CALLING 'DOCKHD' ARD RESTORED UPOH ITS RETURN. Ifl r 

PSH3 Y 

J3B OOCBND 

PU 9 Y 

RON ANOB SON HEBTIONBO THAT PBTBR STARK HAS USED A BYTB TO 
RECORD THE TINE THAT A PtLl WAS WRITTBa TO DISK. IN THE INTERESTS 
DP STANDARDS WHICH VTB WAS USED! RON ALSO HBJITIDH80 VARIANTS OF 
THB PLBX PILE SPEC. SYNTAX. HE DID NOT HBNTID* A FURTHER VARIANT 
WHICH IS ALSO VALID. AND THAT IS PILBMAHB.DRIVB BUNBBR OR ORrVf 

UNBBR.F1LBBANB WHB E THB DEFAULT EXTENSION IS USED, IC. 
***LI3T LETTBft.2 WHERE THE DEFAULT EXTEH3ZOH IS .TXT 

I WOULD LIKE TO WISH 66 H1CRO JOURNAL BVBRV SUCCESS FOR THE 
FUTURE. BYTE LOOKS X 1KB A JOURNAL PON t*H ANO ITS CLONES THESE 
DAYS. 

YOURS PAITHPULLV. 

JOHN RITCHIE 

LOB. CMD RCwlSTED 

SEE 6* MICRO JOURNAL NOVEMBER 1984, PAGE 32 

T»C PUBLIBME PROGRAM MAS SEVERAL PROBLEMS. 

1. I* FLE* PROMPT LOCATION H DIFFERENT 
FOR THE BCMERHL VERSION OF FLEX, 

2. IF AM RTTEMPT IB MODE TO OPEN A f 1L£ THAT 
ALREADY Ex 18TB THE PROGRAM CRASHES. 

3. MEMEND NOT flSSTDRSO TO IT'S FORMER WALU6. 

THE FOLLOWIMO CHANOEB HAVE BEEN MADE. 

1. THE LEG FILE THAT IS OPENED DEFAULTS TO 
T>€ WORK DRIVE. 

2. THE BLOCK TRANSFER ROUTINE 

3. THE MEU VECTORS FOR INCH2. OUTCH2. FHBCLB 
AM) MEMEND ORE ONLV INSTALLED IF THE 
OPENINB OF THE LOO FILE 16 SUCCESSFUL. 

A. ONLY THE SAVED VECTORS. THE MEW INCH. 

DUTCH. FMBCLB ROUTINE II AMD THE LOO FILE 

FCB ARE RELOCATED. 
3. THE ABOVE PROBLEMS FIXED. 

AN UNDOCUMENTED FLEX VARIABLE IB SAVED AND 
RESTORED. IT IB LOSLED RET ADR, LOCATED 
AI 4CC43/4. 
MOULD 60METJNE ENLIGHTEN ME 



AS TO WHAT IT IS * 



SEE 0RI01NAL PROBHAM LISTING FOR COMMENTS. 
THIS CODE WAS DERIVCO FROM A DISASSEMBLY. 



EXTERNAL LABEL EQUATES 



MOC 


FCBCXf 


EOU 


12 




CCOD 


DEFDRV 


EOU 


6CCO0 




CD2D 


OETFIL 


EOU 


6CD2D 




CC28 


ME ME NO 


E«J 


•CC2B 




CC43 


RfTAOA 


EOU 


6CC«3 




CC4E 


PROMPT 


EOU 


6CC4E 




COO 3 


WARNS 


EOU 


•CD03 




COOC 


INC 2 


EDU 


aCDOC 




CD 13 


OUTCH2 


EOU 


• CD22 




CD IE 


PfiTRNB) 


ECU 


• CD1E 




CDi* 


RPTERR 


EOU 


•CD3F 




DAOl 


FMSCLS 


EOU 


604D3 




DA Oft 


FMQ 


COU 


60406 




DA 09 


FCBPYR 


EOU 


VD609 




ClOO 








ORG 


ClOO 


20 la 




STRRTO 


BRA 


C102 


Bl 2E Bl 


3A 




FCB 


ClO* 


81 








C107 


20 52 AS 


ad 




FCC 


ClOB 


a] 93 48 


43 






ciof 


*A 20 42 


» 






CU3 


24 *A 9,2 








C116 


8* GO 




START 1 


LOO 



eftl.62E.66J T 63A.4ai 



Clie B7 


CCOD 


STO 


DEFDRV 


CI IB 30 


80 016D 


LEAt: 


LOOFCB. PCH 


CI IF BD 


CD2D 


JSR 


OETFIL 


CI 22 EC 


04 


LOO 


4.X 


C124 1083 


AFA6 


CMPD 


««4F*6 


C12« 2* 


10 


BNE 


L0O8T 


CI2A EC 


OS 


LBD 


6. X 


CI2C 1083 


6S0O 


CMPD 


664&00 


C130 24 


OS 


BNE 


lobst 


C132 0C 


48 


LDD 


B, X 


Cl3a E3 


OA 


ROOD 


10. Jt 


C136 1027 


00C2 


LBEO 


LOOEND 


C13A CC 


4C4F LCOST LDD 


■ a4C F 


CI 3D ED 


OC 


8T0 


FCBEXT, X 


C13F U 


47 


LDA 


aea7 


C141 ED 


OC 


6TD 


14. X 


C143 FC 


CC43 


LDD 


RETADR 


CI 44 ED 


«D OOFA 


8TD 


AETA.PCR 


ClaA FC 


CDI3 


LDO 


OUTCH2»i 


CI 40 ED 


8D CWJF3 


8T0 


OVEC.PCR 


C131 FC 


COOD 


LDD 


INCH2«J 


C15A EO 


BD OOFO 


STD 


IVEC.PCR 


C13B FC 


04 4 


LDD 


rMSCLS*! 


CIS* CD 


88 04C8 


STD 


CLBV. PCR 


C13F FC 


CC2B 


LDD 


MEMCND 


ClfcJ ED 


BD dOOC 


8T0 


MEnO.PCR SAVE OLD MEMEND 


C164 83 


018 


SOW) 


461 ZE 


C169 23 


£2 


BC8 


M2L0W 


C16B ED 


80 00 1 


6TD 


OWA£MD,PCR SAVE NEW MEMEND 


Cl&F IF 


03 


TFR 


D,u 


C171 33 


ai 


LEAU 


1,U *EU START AOORCSS 


CIT3 CC 


0047 


LDD 


Rl.ENOTH/2 NUMBER OF BYTES ^O XFER 


CITS 31 


SD 00C4 


LERV 


BASE, PCR OCT OLD START AOORCSS 


CI7A 8D 


62 


BSR 


BLKIFR BLOCK MOVE ROUTINE 


C17C 30 


C9 OB4E 


LEAK 


LOOFCB -BASE, U 


ClOO AF 


C9 DOOE 


STI 


BAUFC8-BA8E.U BAVE LOG FCB 


C184 86 


•2 


LDA 


#2 


CI86 A7 


•a 


8TA 


0. X 


ClOB BD 


D40S 


J8R 


FMS 


C16B 2S 


28 


B far 


BMO 


CJBD EC 


CS 0002 


LDO 


OMNE MO -BASE. U 


C191 FD 


CC2B 


STD 


MEMEND SET MEM MEMEND 


CI 94 30 


CS ODIF 


LEAK 


OCLOBS-BAfiE.U 


C198 BF 


D604 


STX 


FRSCL8+I 


C19t 20 


C9 OOOO 


LEAK 


BASE-BRSE. U 


C19F BF 


CD13 


STX 


OUTCH2+J 


C1R2 3 


C9 003F 


LEAX 


JNPUT^BABE.U 


C106 BF 


CDOD 


STX 


INCH2*1 


CIAS CC 


3C2E 


LDD 


•43E3E 


C1AC FD 


CC4E 


BTO 


PROMPT 


ClAF B7 


ccso 


STA 


PAOMPt*2 


C1B2 7E 


C0O3 


JMP 


WARMS 


CIB3, BD 


C03F BOD 


JSR 


RPTERR 


CIB6 BD 


0*03 


JSR 


FHBCLS 


C1B6 7E 


COO 3 


JMP 


MARM6 



CI BE 34 
C1C0 4C 
CIC1 AE 
CIC3 AF 
C1C3 3A 
CICt 26 
CIC8 4A 
CIC9 2S 
CICB 35 



' f. 
CO 



• BLOCK MOVE ROUTINE 

• O -LENGTH/ 2 

• Y-Ol.D START ADDRE88 

• U-MLW START ADDRESS 
• 

BLKXFR P8H8 U 
I MCA 

Bl LOX ,*-• 

BTji .u^* 

DECS 

BNE Bl 

OCCA 

BNE Bl 

PULB U.PC 



01 FOR SYS DRV AS DEFAULT 



ClCO 
ClDl 
CID* 
C1DB 
CtOA 
ClOE 
ClE2 
CIC6 
CIEA 
ClEC 
CIF2 
C1F6 
CJFA 
CIFC 
C200 
C202 
C2C4 
C246 
C209 
C24S 
C20E 
C21I 
C2I3 
C 17 
C219 
C2IB 
C21E 
C220 
C223 
C223 
C22A 
C22A 
C22D 
C22F 
C232 
C233 
C238 
C23B 



C23C 2* 

C240 

£242 

C244 

C243 

C2A6 

C2A8 



30 BO 0009. 
BD CO IE 

31 80 0066 
20 37 

20 20 20 AC 
4F 34 20 43 
4E 4F 33 47 
48 20 AD AS 
40 4F 32 39 
20 16 4F 32 
20 41 20 4C 
AF 4 7 20 2D 
2D 04 
IOSE C013 



LEAK 

JSR 
LEAY 



MSGO.PCR 

PSTRNG 

BASE. CO) 

RESTOR 

/— MOT ENTaJaN MEMOFIV FOA 



OUTCHi* 
14. V 



A LOO ~-/,e*4 



D4 



DAOS 



06 



C03F 
7E CD03 
EC *i 

1GB3 CC2B 

26 03 

EC 24 

FO CC2B 

EC 26 

FD CC43 

EC 28 

FD CO 1 3 



CHECK TO SEE IF ANOTHER 
PROGRAM ALTERED MEMEND. 
BET ORIGINAL MEMEND 



2A 

COOD 

2C 

0404 

2B2B 

CCAE 

CC30 

CD03 



LOSENO LOV 
LOX 
LDA 
6TA 
JSR 
BEO 
JSR 
JMP 

RESTOR LDD 
CMPD 
PNE 
It DO 
STD 

NOMECH LDD 
BTO 
LDD 
673 
LDD 
STD 
LDO 
STD 
LDD 
BTO 
STA 
JMP 



• THE CODE WmICM FOLLOWS IB RELOCATED 



O. Jt 

FMS 

RESTOR 

RPTERR 

WARMS 

2. V 

MEMEND 

NOMECH 



6.V 

RETADR 

B. V 

DIJTCK2. 1 

10. V 

1NCH2*1 

12. Y 

FMOCL6»i 

•62B2B 

PROMPT 

PROMPTS 



BASE 


BRA 


OWNEND 


RNB 


MEND 


RHB 


RET A 


RMB 


RETB 


RM8 


OVEC 


RhB 


1VEC 


RMB 



68' Micro Journal 



57 



C24A 






CLSV 


«K8 


2 


CiiC 






SftVFCB 


HUB 


2 


C2AZ 


34 


16 


OUTPTJ 


P9H6 


fi, B. * 


C2S0 


30 


BC 39 




LEA I 


1L0GFC*. PC« 


C253 


BD 


D406 




JBR 


FMQ 


C23& 


30 


BC ED 




LE«I 


<ovec,»CR 


C259 


oo 


*A 




JSn 


['.'. *1 


C2sa 


3tt 


96 


OUTRET 


PtXS 


O.B. K.PC 


C290 


34 


16 


OCLOBE 


PBMS 


P.B.I 


C25F 


ec 


Dd09 




LDJ£ 


FCBPTR 


C262 


27 


F7 




MO 


OOTft£T 


C2fe* 


I.L 


B4 


CLL1BT 


LOO 


O, X 


C266 


34 


06 




PSME 


fi.B 


C26B 


3D 


«6 C4 




LEAK 


-26. K 


C2&V 


M 


«c oe 




CM*I 


4BOVFCB. PC* 


C?6£ 


27 


07 




*E0 


1QN0RE 


C270 


06 


04 




LD* 


•4 


C272 


»> 


64 




BTA 


O.I 


C274 


fc*0 


04O6 




JSR 


FHS 


C277 


M 


£l 


10NQAE 


LlH 


0,S** 


C2?9 


26 


C9 




8**T 


CLLlBT 


C27> 


33 


96 




PULB 


A, B.K,PC 


C2T0 


7.i 


14 


:**>ot 


PSHfl 


B.I 


C27F 


30 


ec C6 




LEAK 


<1VEC.PCR 


C3B2 


w> 


94 




J8R 


CO, 13 


C2fit 


30 


ec 05 




LEAK 


(LOGFCB.PC* 


C2B7 


8U 


D406 




JBA 


OtS 


C2B0 


39 


94 




POLS 


8. K.PC 






C26C 


<JOOFCB 


EOU 


• 


C2BC 








RHB 


•40 






C2CC 


OLTBUT 


EOU 


* 


C2CC 








RHB 


*lOO 






OOBE 


LENGTH 


EOU 


OtJTBUf-BABE 






oiac 


SIZE 


EOU 
END 


•-BASE 

BTfiRTO 



ERR0R4BJ DETCCTEO 

ZS7 Electronic Specialists, Inc. 

171 South Main Sir—\ t Natick, Mass. 01760 
(617) 655-1532 

SOFTWARE PROTECTION CUIDE 6. CATALOG 
Electronic Specialists is offering a 40 page color 

catalog describing power line problems such as noise 

and high voltage spikes. Damaging and disruptive 

effects on Program execution are described. 

Typical Software problems and suggested solutions 

are Included. Hundreds of protective and interference 

cure products are described. Request Catalog 851. 



David R. Forrest 
1934 Wood* in lourt 
Kirk wood, HLStourt 6)122 
C5U) 965-6577 



Don tfilliaai, Sr. 
60' Micro Journal 
5900 caieandra S«Ub 
P.O. Box 6*9 
Hixson. W 57343 

Dear Don: 



•ncloeed rind a dt«k witb. a utility X wrote that I find very 
useful. I progr» primarily Ln xa/LSIC *t\6 fci»v« need of Hex 
coovtrtiona quite often. P«rhaf>* other* would «leo find it 
useful. 

I've bee* reading the Journal since Its inception and uie aoaaithlng 
free) alanet every Ineue. TW*st 




David Forrfcat 

« Hit CONVERSION UTILITY 

• 

« PLACEO IK PUBLIC SOAAIN JO JAN 05 

I 

t 0. R. FORREST 

■ 1834 NOQDFU COURT 

i KIRJdfOGO, MSSOHRI 63122 

♦ 1314) 965-6577 
I 

i POSITION IKDCPENOEair COOE 

♦ LOAOS IN UTILITY COrHAN* SPACE tlCIOOl 
* 

* syntat or cowwnd iarsunent cam be hckii OR DECIIWU.) 

* ♦♦♦HEX CftRSUnao 

i HANPLES KCI IC003 or HE I 256 







t DOS EM1AHS 








COCJ 


•WFIS 


EOU 


IC003 


00S NAAflSltfT 




C0I8 


PUTCHR 


CGIU 


iCDIfl 


PUT CHARACTER ROUTINE 




C024 


PCRIF 


EOU 


iC024 


CAANIA6E RETURN LINE FEED 




C042 


GETHEI 


EMI 


IC042 


$H MCI NUHBER FROM BUFFER 




C048 


INOEC 


EOU 


ICD4B 


GET OCCIWW, MINER FRO* WfFER 




C039 


mm 


EOU 


IC039 


OUTPlfl OECIIttl NIMBER 




cose 


OUIrttl 


EOU 


IC03C 


OUTPUT KEI NWBER 




C027 


J41TCH 


EMI 


IC027 


SET MEET BUFfER CHARACTER 




ens 


NITPNT 


EOU 


«CCIS 


POINTER TO NEfT BUFFER CHARACTER 




COIE 


PSTRM6 


EOU 


ICOIC 


PRIN! STRIUS 14 TIW1NATES 


C100 






0R6 


1C100 




CI 00 20 


03 


HEX 


BRA 


IIST 


RUNS IN UTILITY COm^iNO SPACE 


C102 02 




VN 


FCB 


a 


VERSION NJHBER 


CI 03 0002 




HEI« 


FOB 


J 


HE I NUITBER 


CIO) 10 


C027 


LIST 


JSR 


N1TCN 


GET NEIT CHARACTER 


cioe si 


24 




CHPA 


If 


SEE TF HE) SIM 


CIOA 24 


•5 




Bl€ 


DEC 


CHECK OCCINAl 


eioc to 


CD47 




J BR 


BETJ6CI 


BET NEJ NUItfiEt 


CIOF 20 


01 




BRA 


OUTWIT 


60 PRINT IT 







fIF NOT IK! SISN 




cm 81 


20 


EEC 


CKPA 


«20 


StIP 


CJ 13 27 


FO 




KQ 


LIST 


SPACES 


CHS 7A 


cess 




occ 


NrfPNf 


BACI UP POINTER 


cue 10 


CD48 




JSR 


moec 


6ET DECUML MUHBER 


cue 12 






NOP 




0N6P INTO OUTPUT 






i 

aOUTPUT ROUTINE 




C1IC 25 


35 


OUTPUT 


BCS 


IRJtOt 


IF ERROR 


CUE AF 


8C £2 




STI 


HEINO.PCR STORE BINARY NUMBER 


C121 30 


BC OF 




L£A> 


HEIN0,PCR POINT TO NUMBER 


C124 BO 


CB24 




JSR 


PCRLF 


HEN LINE TO MINT ON 


C127 B6 


24 




tOA 


II 


SeT UP NEI SVnBOL 


C129 10 


coze 




JSR 


riTTCNR 


OUTPUT HEX SIGN 


C17C BO 


cox 




JSR 


OUTHfl 


OUTPUT HEX NI6H OftKR 


C12F 30 


01 




LEAK 


\,1 


STEP TO LOU flftOER 


cm 10 


C03C 




JSR 


0UTHE1 


OUTPUT Mii L« OROER 


CI 34 30 


sc ec 




LEAK 


HE1NCPCR POUT TO NIA>I€R ASAIN 


m? so 


20 




LOA 


U20 


OUTPUT A 


C139 10 


cots 




JSR 


PUTCHR 


SPACE 


C13C BO 


eow 




JSR 


OUTOEC 


OUTPUT DEC 1 HAL NUB8CR 


C13F BO 


C024 




JSR 


PCRtf 


SPACE TO m LJNE 


CH2 7E 


C003 




J«P 


NARnS 


Rf TISN TO PCS 



tERRORS" 



INVAl FCC 'INVALID INPUT' ,104 



CMS 4? 4E 56 4) 
C149 4C 49 44 20 
C140 49 4E 50 55 
CIS) 54 04 



CIS3 30 St EF ERROR IEAI INVAl,PCR POINT TO NESSA6E 



CIS* cO COIE 
CI 59 BO C024 
CISC 7E C003 



|RR0R(Sl OETECTEO 



JSR PSTRJNj 

JSR PCRLF CLEAR RUffCR IF REOIRECTEO PRINTER 

JJIP NARRS ANO QUIT 

ENO IK1 



SYMBOL TABLE! 










DEC CM1 ERROR CI33 


6ETKEI C042 


Hfl 


CIW 


KEINO CI03 


INBCC C048 INVAl CMS 


LIST CMS 


NTTCH 


C027 


NITPNT CC15 


OUTOEC C039 007*1 CDJC 


OUTPUT CI1C 


PCRiP 


CW4 


PSTRN6 C61C 


PUTCFR C018 VN CI02 


HUMS C003 









58 



*68" Micro Journal 



Classified Advertising 

TELETYPE Model 43 PRINTER - with serial 
(RS232) Interface, and full ASCII keyboard. 
LIKE NEW - New cost 51295.00-ONLY $759.00 
ready to run. 
Call Tom - Bob, CPI (615) 842-4600 



For Sale: Motorola 128K Memory Boards, 
removed from SWPTC S/09 $795.00, SWPTC 
8212 Terminals Demostrators $795.00, 
Nazelwood Dynamic 64K Memory Boards 
$395.00 Call ask for Tom (615) 842-4600 

Wanted to Buy: Used 6800 * 6809 FLEX 
software. Commercial and public domain. 
Send description and asking price to: John 
Current, P.O. Box 273 Honolulu, HI 96859 



OS-9™ SOFTWARE 

SDISK— Standard disk driver module allows 
the use of 35, 40, or 80 track double sided 
drives with COCO OS-9 plus you can 
read/write/format the OS-9 formats used by 
other OS-9 systems. $29.95 

SDISK + BOOTFIX— As above plus boot 
directly from a double sided diskette S35.95 

FILTER KIT #1— Eleven OS-9 utilities for 
''wild card" directory lists, copies, moves, 
deletes, sorts, etc. Now includes disk sector 
edit utility also, $29.95 ($31.95) 

FILTER KIT #2— Macgen command macro 
generator builds new commands by com- 
bining old ones with parameter substitution, 
10 other utilities. $29.95 ($31.95) 

HACKER'S KIT #1 — Disassembler and 
related utilities allow disassembly from 
memory* file. $24.95 ($26.95) 

PC-XFER UTILITIES —Utilities to read/write 
and format MS-DOS™ diskettes on CoCo 
under OS-9. Also transfer files between RS 
disk basic and OS-9 (requires sdisk). $45.00 

SS50 USERS: Half price closeout of 256K 
dynamic ram boards, making way for new 
Megabyte design. 

BOLD prices are CoCo OS-9 format disk, other 
formats (in parenthesis) specify format and OS-9 
level. All orders prepaid or COO, VISA and Master- 
Card accepted. Add $1.50 S&H on prepaid, COD 
actual charges added. 

D.P. Johnson, 765S S.W. Cedarcrest St. 
Portland. OR 97223 (503) 244*8152 

(For best service call between 9-11 AM Pacific Time.) 

OS-9 ts a IradenwK of Mlcrowsw and Motoiola Inc 
MS-OOS Is a trademark of Mlcro«o1t. Inc. 



Selling GIMIX 6809 computer with clock, DMA 
disk controller, 56K RAM. FLEX-9, OS-9 
software. Only $1295. 
John Pomeroy (216) 372-4457. 



6809 COMPUTER SYSTEM: SWTP mother board, 
4 Power supply, Percom CPU with serial, 
serial board, 48K RAM, dual 51nch drives, 
SO Floppy controller. BEST OFFER! Perkln 
Elmer 550 CRT terminal, Soroc IQ 120 CRT 
terminal, two TEK-C0M acoustic mode (300). 
Joe Wlcklund (206) 481-2812 evenings (PST) 



WANTED: SWTPc MP-LA, Used or Public Domain 
FLEX 6800 Software. Any help appreciated. 
Call Craig after 5:00 EST (518) 439-6770 



SWTPC S/09 Computer 

64K, CT-82 Terminal, Dual Floppies, 4 Serial 

Ports, 1 Parallel Port, S-32 Card, FLEX 

9.0, TSC XBASIC, Editor, Assembler, Text 

Processor, Pascal, Debugger, Utilities, 

More. Excellent Condition. 

Keith Teague (405)624-5158 Weekdays, 

(405)624-0621 Evenings. 



OWILER EVALUATION SERVICES 
By: Ron Anderson 

Tne S.E- FCDIA Division of Co*>irhr 

Publishing Inc., 

Is offering the following SUBSCRIBER 

2RVICE': 

COPILER Cd*>ARl$ION AMD EVALUATION REPORT 

Due to the constant and rapid updating and 
enhanchment of numerous compilers, and the 
different utility, appeal, speed, level of 
communication, memory usage, etc., of 
different computers, the following services are 
now being offered with periodic updates- 

This service, with updates, will allow woo who 
are wary or confused by the various claims of 
compiler vendors, an opportunity to review 
comparisons, comments, benchmarks, etc-, 
concerning The many different compilers on 
the market, for the 6809 microcomputer- 
Thus the savings could far offset tne small 
cost of this service* 

Many have purchased compilers and then 
discovered that the particular compiler 
purchased either Is not the most efficient 
for their purposes or does not contain 
features necessary for their application. 
Thus the added expense of purchasing 
additional compiler Cs) or not being able to 
fuMy utilize the advantages of hfoh level 
language compilers becomes too expensive. 

The following C0WILERS are reviewed Initially, 
more will be reviewed, compared and 
benchfliarked as they become available to the 
author: 



PASCAL "C n 



GSPL WHIMISCAL PL/9 



Initial Subscription - 139,95 

(Includes 1 year updates) 
Updates for 1 year - SI 4.50 

S.E. MEDIA - CPt 

5900 Cassandra Smith, POB 794 

Hlxson. TK 37343 

615 ^42-4601 



68' M»crO Journal 



59 



Give Your OS-9 System The Power It Deserves! 
Ibtal Management Planning Software presents 

The TfflP POWER SERIES 






^The TMP FREEFORM FILER 
The Premier Text Filing Program! 
UNIQUE CAPABILITIES; 

< THE OBJECTIVE; Far thnar who wnnl to randomly store inform** 
Lion, but retrieve K quickly, the FREEFORM FILER « dtaugned to bn4|$e 
the gap between word processing and traditional database management 

*• THK KEYWORD SYSTEM: An you enter or edit your text, von can 
•elect any word aa a "KEYWORD" or "KEYFHRASE." Each "f ARD" 
an contain aa many aa 117 KEYWORDS* and up to nine pages of text 
similar to a 3" x 6" card, with no field nesUSctlooa Each "FILE 
DRAWER" cnn contain up to 32767 pages 1 

• THE SEARCH: Search Tnr the Curd Title, KEYWORD, or a com. 
binmtion of both Plum "WILD CARD SEARCHES'* save time? 
*> THK RESULTS: Uat the titles or card* found, print, or write the 
cards to a disk file for later priming or use with a word processor 
GIVE YOU MOKE ABILITIES: 

e BUSINESS: Appoint men La office phone and adcbvsa indexes* in- 
ventorv. service rnlK vrmdor \i*lK and pales orders, 

• WftJTERS AND RESEARCH ERS: Far indexing, ewwa- 
refervncmK «r mlulotfinjt and legal and modi al research. 

* PERSONA l~ Tin- possibilities are endless , art and coin col 
lections, bill li.ii, n^ tax records, and home inventory 

NOTE: The FRFFFOkM FILER integrates del* mto the 'POWER 
MANAGER." 

'68* MICRO JOURNAL S»id: "IMP FREEFORM FILER isa fie* 
ible Program th I can be used for a multitude oftaska without requiring 
a Computer Science ba kground a very useful Program** 

Requires 124K. OS-9 Version. $195; Uniflex version. $295. 



The TMP POWER MANAGER 

, , , Beat In Its CIassS 

POWERFUL CAPABILITIES; 

* More chnrmctera per record 17600; than any other program in 
its class! 

< Bach database can contain 32.767 mwd* with up to 150 fields 

in esch record and up to 50 characters in each field 

r* Rrwerful Sort and Report Generation capabilities. 

* SORTI&ti on any fw-kl or on a combination of fields, 
• [ntncate msth CALCULATING between fields 

GIVE YOU MOKE ABILITIES: 

e POWER MANAGER can create CUSTOMIZED LETTERS. IN- 
VOICES. COLLWNAR REPORTS. OR LABEL FOR MAIS tor 

mailing' 

a Our User* put POWER MANAGER to work for them to do: 
customer mailing piutl due notices . invoicing . , . sales analysis 

Inventor*** rredil. insurance and employee records, client profile 
report* trucking *mck (.MirTN.ln.-v and much more. 
a- THE BOTTOM LINE: The POWER MANAGER ia the best m it* 
classt Requires 12»K, |3tf. (OS-9 Only) 



The TMP POWER PLANNER 

. , , Utivquniled in Speed And f\»wi*r! 
a The POWER PI*ANNER is an electronic spreadsheet with extra 
Speed and fWer due to a unique feature called "circular referencing" that 
n^alciilatos only the re hi led cells in the spreadsheet 
e Data and formulas can be entered IN ANY ORDER. And, you don't 
haw to keep reca leu I nling for the right answer as tn other spreadsheets 

* SPECIALIZED REPORTS can be easily created by overlaying any 
number of screena and automatically updating one spreadsheet with 
another! 

* Other fe tures include "Snap-Shot" printing, full 13-digit precision, 
standard arithmetic and trig functions and a worksheet that will display 
up to 264 rows by 266 columns. 

* The Speed and Power ef the POWER PLANNER make it a natural 
for Budgeting* Cash Flow Comparisons, Sales Forecasts, Profit/Loss Pro- 
KCtions,and all kinds of Financial Analysis and "What If' Calculations 
Requires 64 K. 1250 40S-6 Only), 



The TMP FRONT-END ...A Powerful Menu Program 
a The FRONT- END allowm the user to call up TMP or uther pnwruni 
such as application programs* editors, shell acripts, or commands from a 
menu syKtem (^Jipuril) m neven menu sent- nn, each with up to 36 menu 
opt urn*, prtidufing 2f*2 upturns Can he called fmm nun TMP proem itia 

Require! S4K. OS-9 Version $50, Uniflex Version, $7o. 



The TMP LABELER 

• Leu you make large quantities of labels in second*, with options for 
automatic numbering «nd selecting the number of copies of each label 
Variable pitch and b*litu- screen Great for Serial Numbers, Invent ry, or 
making a quick Shipping Isabel 175. Uniflex Only. 



► ORDERING 1M ORMATION: TMP SOFTWARE 

2431 E. Douifla* • Wichita, Kansas • 67211 

► OR CALL TOLUFREE: 1^00-2551362 Ext.47 

We accept VISA. MC, AMKX, money orders and checks. 

NOTE The pmrent eompmny flf TMP Svfltmmrr. The Untied St/iwmrr Co . 
IS now the distributor mad support crgnnitsttcn for TMP Software. 




Available 
Assembled 
and Tested 



compact 
Flexible 

6809 
Computer 

Th* new ST 2900 system — a complete 6SK small business or noOby ist computer 
is only one ol il* any possible coniiguralione Among us leatutea are 
■ Small enoogn lo noJd in root na»d> <Eurocerd Si/e: 39x6 3") 

• Two board "system" lor greater versatility man single board compuisis 

• CPU Board - powerful B009C processor, 16* or 64K RAM. 2K*K EPROM, 2 
RS232 sensl ports with sortwaie praoiammabte baud rslos. 16 bit 
•ounier/timer Run |he CPU board all by Hsell, or plug your own custom too s id or 
our FOG board mlo Ihe expansion connector 

• FDC Bosrd - double sidedVoouble-o^nsily llopey disk conlrorler M»(n 
sdtustmsni tree digital data separator and whie procompensation 28 bit 
parallel pods 2 id bit counter/timers prototyping area. 

• Available as bare PC boards or rultv •■■•mblee and tested boards All hava 
solder mask both aides plus SllksCreened component Overlay 

- OS-9 for only $49? 

Well, not quite But that's ail you pay lor our OS 9 Cohversi ri Psckage *Hlch 
tela yoy use Ihe tow cost Rsdio Shack CoCo veision or OS*9 on out ST 2900 
system Save Sl3t oil the suggested llsl p^ice ol OS-gt 9fo aregrammlno J* 
Involved. Supports CoCo OS 9 and standaid OS9 format disks 
•CPU bare board plus E PROM *4S FLtX Conversion Package S29 

FDC bare board 136 OS9 Conversion Package $49 

CPU + FOC board ser assembled and tested (329 

• Add 16 shipping/handling <$10 overseas) These prices are in U S funds Cana 
dian orders csll or write for price Terms money order, cettfhed check, visa 

si j? ^ vvme lorlrse btocrmre and 

S7 <wi t> PS-l <C comptite price timt. 

)\ ^/\f\i^\^> t«04) 256-€4B5 <♦-* pm PST> 

T TC<HNOLOOIC< 

2261 E. 1110 Ave. Vancouver, B.C.. Canada VSN 1Z7 



III NEW PRICES III 



I 



1 



MI' «l|lfcll 

.It'rirrrrr 




I HlfM 



2S6K, 512K, 1 MEG MEMORY SYSTEM 




TURBO vlri*»l dial eofivtre aetf namor) fhfWMi k* »o^Oatf «iu> dv %y%Um. 

Pf«p«1tf: 2SM:U9S, l2tt:$S4S. 5l7«:S795. I0?4t:$1195 

Doe>««ik elUpptnc mM fc*ed)int 1 10,00. Uarra mttrntk SIS.00. «ppl»caM< coward 
»r«4«B pure**!*. Caihatr* Hleri, COO. V*rtoo»i ctock* men cte*r Sefo»e 
Fl». r9»rdMti odd &% imut* tAa, Shipped stort to X d»yi, DteJcr and 
sr AKotMi »*aJI»t4av 



COMPUTER EXCELLENCE INC. 
P.O. BOX 8442 

CORAL SPRINGS, FL 33065 
_ ttOS) 752-8321 



60 



'68' Micro Journal 



GOOD NEWS! 



•• 



MOL 



CORPORATION 

647 IV. Virginia St. 
Milwaukee \\l 5:1204 
<414)27(i-2m7 



6809 
NEYER 
BETTER! 



ms 



INTROL-C/6809,Version1.5 

Introl's highly acclaimed 6809 C 
compilers and cross-compilers are now 
more powerful than ever! 

We've incorporated a totally new 6809 
Relocating Assembler, Linker and Loader. 
Initializer support has been added, leaving 
only bitfield-type structure members and 
doubles lacking from a 100% full K&R 
implementation. The Runtime Library has 
been expanded and the Library Manager is 
even more versatile and convenient to use. 
Best of all compiled code is just as 
compact and fast-executing as ever - and 
even a bit more so! A compatible macro 
assembler, as well as source for the full 
Runtime Library, are available as extra-cost 
options. 

Resident compilers are available under 
Uniflex, Flex and OS9. 

Cross-compilers are available for PDP- 
11/UNIX and IBM PC/PC DOS hosts. 

Trademarks: 

Introl-C. Introl Corporation 

Flex and Uniflex. Technical Systems Consultants 

OS9. Microware Systems 

PDP-11. Digital Equipment Corp 

UNIX. Bell Laboratories 

IBM PC. International Business Machines 

For further information, please call or write. 






68* Micro Journal 



61 



THE 6809 "UNIBOARD"™ 

^SJ^S^SINGLE board COMPUTER KIT Koi it 




PERFECT FOR COLLEGES, OEMS, INDUSTRIAL 
AND SCIENTIFIC USES! 

64K RAM! DOUBLE DENSITY 
FLOPPY DISK CONTROLLER! 



^*, 



*w 



/ 



BLANK PC BOARD 

$9995 

WITH PALS, AND 
TWO EPROMS- 

FOR 5-1/4 OR * INCH 

SOURCE DISKETTE 

ADD $10. 




00 



$249 

COMPLETE KIT1 
FULLY SOCKETED. 



PRICE 
CUT!! 



>- tfl 
< ill 
Q D 

§ UJ 

tea 

OO 
O^ 

UJ _( 

si 



<* 



THE COMPACTA UNIBOARD™: Through special arrangement with COMPACTA INC.. we are 
proud to have been selected the exclusive U.S. Mfg. of their new 6609 UNIBOARD'* COMPUTER 
KIT. Many software professionals feel that the 6609 features probably the most powerful 
Instruction set available today on ANY 6 bit micro. Now, at last, all of that Immense computing 
power Is available at a truly unbelievably low price. 



YOUR CHOICE OF POPULAR 
DISK OPERATING SYSTEMS: 

FLEX" from TSC >99 

OS9™ from Microware $199 

Specify 5-1/4 or 6 Inch 



FEATURES: 

* 64K RAM using 4116 RAMS. 

* 6609E Motorola CPU. 

* Double Density Floppy Disk Controller 
for either 5-1/4 or 6 inch drives. Uses WD1793. 

* On board 60 x 24 video for a low cost console. 
Uses 2716 Char. Gen. Programmable Formats. 
Uses 6645 CRT Controller. 

* ASCII keyboard parallel input interface. (6522) 

* Serial I/O (6551) for RS232C or 20 MA loop. 

* Centronics compatible parallel printer interface. 
(6522) 

* Buss expansion Interface with DMA channel. 
(6644) 

* Dual timer for real time clock application. 

* Powerful on board system monitor (2732). 

Features commands such as Go To, Alter, Fill, Move, Display, or Test Memory. Also Read 
and Write Sectors. Boot Normal, Unknown, and General Flex". 



PC BOARD IS 

DOUBLE SIDED, PLATED THRU 

SOLDER MASKED. 11 x 11-1/2 IN. 



Digital Research Computers 

(OFTEXASl 
P.O. BOX 461565 * G Aft LAND, TEXAS 75046 . (214) 225-2309 



TERMS: Shipments will be made approximately 3 10 6 weeks after 
receive your order visa MC. cash accepted Add $4 00 shipping 
USA AND CANADA ONLY 



62 



6B + Micro Journal 



64K SS-50 STATIC RAM 



* 



•^ 



$149 



00 

(46K KIT) 




*£ty, 



e* 






»ft 



w 



BLANK PC BOARD 

WITH DOCUMENTATION 

545 



SUPPORT ICs -> CAPS - 516.00 
FULL SOCKET SET - 515.00 



ASSEMBLED AND TESTED ADD $50 

FEATURES: 

• Uses new 2K x 8 (TMM 2016 or HM 6116) RAMs. 

• Fully supports Extended Addressing. 

• 64K draws only approximately 500 MA, 



56K 
64K 



*169 
MM 



200 NS RAMs are standard. (TOSHIBA makes TMM 2016s as fast as 100 NS, FOR 

YOUR HIGH SPEED APPLICATIONS.) 

Board is configured as 3-1 6K blocks and 8-2K blocks (within any 64K block) 

for maximum flexibility. 

2716 EPROMs may be installed anywhere on Board. 

Top 16K may be disabled in 2K blocks to avoid any I/O conflicts. 

One Board supports both RAM and EPROM. 

RAM supports 2MHZ operation at no extra charge! 

Board may be partially populated in 16K increments. 

16K STATIC RAMS? 



CLOSE OUT SPECIAL 
WE HAVE DROPPED OUR 32K SS-50 STATIC 
RAM BOARD WHICH USED 2114 LOW POWER 
RAMS. WE WILL SELL THE REMAINING 
STOCK OF BLANK PCS S WITH DATA FOR 
$17.50 EA. THESE FORMERLY SOLD FOR SS0. 



The new 2K x 8. 24 PIN, sialic RAMs are Ihe nexl generation of high density, high 
speed, low power, RAMs Pioneered by such companies as HITACHI and 
TOSHIBA, and soon 1o be second sourced by mosl major U.S. manufacturers, 
these ultra low power parts, feature 2716 compatible pin out Thus fully 
interchangeable ROM/RAM boards are at last a reality, and you get BLINDING 
speed and LOW power thrown in for virtually nothing 



Digital Research Computers 

*" (OF TEXAS} 

P.O. BOX 46156$ * GARLAND. TEXAS 75046 . (214)225-2309 



TERMS: Add $2 00 postage We Pay balance Order under Si5 add 75c 
handling NiCOO We accept Visa and MasterCrwge Te* Res add 5% 
Tax Foreign oc ders (except Canada) add 20% P & H Orders over $50. add 
B5C \or ins.iir.im ♦■ 



58' Micro * Journal 



63 



DISKETTES AND 680X SOFTWARE 

SUPER SLEUTH DISASSEMBLER EACH S99-FLEX, $101 -OS-9. S100-UNIFLEX 

mtaracfivaiv umifitit seuret o#» d»tk w»th iai>ai». mcludaa mrat labai d*fmiiion, bma-v "la •dning, aie. 
mpKily WO0.1,?,1.5,B,8V6SO2 vara»o* o* 2 -BO /SOTO'S 5 Viftio* 
OS'S and UNIFLEX vataiona alto procaaa FLEX objacl Ma formata 
OBJECT ONIV varaiona EACH S50-FIEX & OS-9. S49-COCO DOS 
COCO DOS tvtiltOlt *n 6400 1.2,3,5,B,9'65D2 V»?r»iOr» on4\ 

CROSS-ASSEMBLERS EACH S50-FLEX/UNIFLEX/OS-9, ANY 3 SI 00, ALL S200 

tptcttv lor 1904. 6504, 6604, Z~60, dtWB'M. B085. 68000 
Wu», modul* fra«-»t*ndir*e ctos* lutmbltri writlan »« C 
B-bit Mow inclvda* o»iv with til Croat- ftuamblar* Mot WOO) 

DEBUGGING SIMULATORS EACH S75-FLEX, S100-OS-9, S80-UNIFLEX 

apaciiy 66«4Vl. (14M605. 6502 6806 OS-*. 2-80 FLEX 
OBJECT OftfLV vartttftt EACH $ SO-COCO FLEX & COCO OS-* 

6502 TO 6809 ASSEMBLER TRANSLATOR 

tf*n*Jlalat 6502 program* lo 6603, noting tnaxact convert >on§ 

6800 TO 6809 81 6809 PIC TRANSLATORS 

WtnsUtt* 6600 Program* to 6609. 6609 programs to PIC 

FULL-SCREEN FLEX AND UNIFLEX TSC XBASIC PROGRAMS FOR 6809 

(with complota curaor control} 

DISPLAY GENERATOR/DOCUMENTOR ISO w/aourca. S?S without 

MAILING LIST SVSTEM S100 w/aourca. S50 without 

INVENTORV WITH MRP S100 Waourca. S50 without 

TABULA RASA SPREADSHEET S100 w mO«rc« S50 without 

DISK AND XBASIC UTILITY PROGRAM LIBRARY S50-FLEX & UNIFLEX 

ad II aaclora sort du«cto*V. maintain masttr catalog do d»ak sorts, Mraf BASIC. ... 

CMODEM PROGRAM S100-FLEX & OS-9 & UNIFLEX, OBJECT-ONLY EACH $50 

orovidaa msnw-dnvsn talacommun4(»|io«fc tacilnias. with irrmmal mods. uo/dow«i osd MOOEM7 protosoi. sic. 

5.25" SOFT-SECTORED DISKS EACH 10-PACK S13-SSSD S15-SSDD/DSDD S25-DSQD 

Amaricarv-mada. axcallani quality, with lackats and hub r»ng» 

SS-50C 256K 1.5MHZ MEMORY BOARDS BLANK SI 00 A&T $350 



S75-FLEX, S85-OS-9. S80-UNIFLEX 
S50-FLEX. S75-OS-9. S60-UNIFLEX 



with instruction manual, schamaoca. and dalay tins, all pans raadiiv ava*l«bla 



Most programs in source on di«Jc spocify computar. diU net. operating aystam 

Contact CSC lor full catalog arvd daaiar informal ion 

25% discount for muitiPla purchases of aama Program on sams o«4er 

For VISA and MASTER CARD, giva account, s*p dala, ptiona US funds only. 

Add CA Mist t«ft and SV. shipping no shipping lot di«*> In 100s 

(UNUFlEX trademark. Technical S Warns Consultants. OS-9 trademark Mitrowara 



Computer Systems Consultants, Inc. 

1454 Latta Lane. Conyers, GA 30207 

Telephone Number 404-483-1717/4570 



SOFTWARE.. 
HARDCORE 



" FORTH PROGRAMMING TOOLS from the 68XX&X ■' 
■' FORTH specialists — gel Ihe best" " 

NOW AVAILABLE — A variety of rom and disk FORTH systems to 
run on and/or do TARGET COMPILATION for 

6800, 6301 6801, 6809. 68000. B080, ZBO 

Wnte or call (or infcwmauon on a special system to (it your require 
ment, 

Slandard systems avaj table for these hardware— 

EPSON HX*20 rom system and target compiler 

6809 rom systems (or SS-50. EXORCISER, STD. ETC 

COLOR COMPUTER 

6800/6809 FLEX or EXORCtSER disk systems. 

68000 rom based systems 

68000 CP/M-68K disk systems. MODEL II 12 16 

tFORTH rs a retined version of FORTH Interest 
FORTH, faster than FIG-FORTH FORTH is 



an interpreter II exec tes orders o( matoittfieYiJster thaLim%r 
prettve BASIC. MORE IMPORTANT* cfcarDEyELO|fflENT 
AND TESTING is much, myph/fcllavman comBM languages 
such as PASCAL and (Wft»«40DE V^atfWprT COSTS are 
an important concern (olQwfyou fteed^raTm' 

firmFORTH^ is for the programr%efclttio needs to squeeze the 
most into rorns. tt is a professional programmer s tool for compact 
rommable code for controller applications 



tFORTH® 

from TALBOT MICROSYSTEMS 
NEW SYSTEMS FOR 
6301/6801, 6809. and 68000 

.«> tFORTH SYSTEMS - 

For atl FLEX systems: GIMIX, SWTP. SSB, or EXORcisor Specify 
$ or 8 inch diskette, hardware type, and 6800 or 6809 

" tFORTH— extended fig FORTH (1 desk) S100 <S15) 

with (ig line editor 
" tFORTH + — more! (3 5" otfBT disks* $250 (S25) 

adds screen editor, aaf^Wrjextended data types, utilities, 

fames, and defrug gi rffi" ¥ s ~ 
RS-60 CGkpfcuWTH*'— available Irom The Micro Wwks 
*MirmFpOTHV|B09on^ $350 (Si 0) 

FflfiprgflL cc^latro^afl^rimabie code 

ti&lly rjel^s amused code Includes HOST system 
» and t3B«t Aucleus source No royalty on targets Re- 
hires bruLdoeSnot include tFORTH + 
"ntj-Tl?ROG RAMMING AIDS — elaborate decompilers 150 

iRTH for HX-20. in 16K roms tor expansion unit or replace 
BASIC $170 

1FORTHv68K for CP-M-68K 8" disk system $290 

Makes Mode? 16 a super software development system. 




* tfOATH and rWnFORT* v trade™**** o* Ta*ol Ucwysam 
» F\fix ia a ff*w«na* o* Tac^r^af Sy»"ams CcnaMw** ax 
<•• CP W-WK rs iradarftatv o* tViar FW»#a/r> ax 



** Nautilus Systems Cross Compiler 

— Requires: tFORTH + HOST + at least one TARGET: 

— HOST system code (6809 or 68000) $200 

— TARGET source code 6800-$200, 6301 6801— $200 
same plus HX-20 extensions— $300 

6809— $300. 8060 280— $200. 68000— $350 

Manuals available separately — pnce m < ). 
Add $&system (or shipping $15 tor lorergn air 



TALBOT MICROSYSTEMS 1927 Curtis Ave.. Redondo Beach, CA 90278 (213) 376 9941 



64 



'68' Micro Journal 



WINDRUSH MICRO SYSTEMS 



UPROM II 




PHOGRAFIS tnd VERIFIES: 127*6, 

T2?oo, t?M6, T*5i6, iirnnnn, 

MCM6A7al/6, t?r«t/?r«4« r T256A, 
(27128/27126A, end 127256. 

tejntel, f*fe«a», «»Motorole. 

MO PfESOAtAlfTT HQOCAti iKmuts* 

rii-v».T twam am mot iuppotr» 

ItlTEL't 1ntelig*«l orogreaalng 
(la) lapAeaanted Tor Intel 

276*, 2r1» «d 27256 devtcet. 
Ifitettlgent prOgreaalng fedueet 
tht «w*r«Bc programing tie* of • 
2764 froo 7 ■ Incite, to 1 ■ incite 
1$ etond* (under FLtjl) with 
greatly 1a»roved reliability. 

fully tnclo»fd pOd tfHfe 5' of 
1101 ribbon eeble for connection 
to 1K« ho»t Onovter MC692l rUA 
interlace Ooerd, 

RCbbOV aortuare for fLE* and 0$9 
(Level I or 2, Version 1.2). 

ei«Ult DISK rILE offiet loader 
• WOCMIed xlih flil, AbfrS and 059. 



«#fKi drive* to*t»a#f p*0¥t0*t thf folloa-lng fee f I it i«»* 



MIL 



PL#P .... - 

IU& 

, EXAnI*C/ChAMuE 
ClC 

COfMr .. .. 

verjft 

PmOuOM 

SELECT 

it*lt* ........ 

RETURN ....... 

imtuTc ...... 



,. a telected mr*» Of 1M buffer «Hfe a MEx cher, 

. biooa o* dele. 

. t*e buffer in heu end ASCII. 

. a atHng of tortti in tut bufttr. 

. the cnitfnti of tht bulfer, 

. checktuoi a teietted arat of tne buffer, 

i. a telected tree of an EMtOM into the butlar, 

. a telacled arta of en fPfton against tht owl tar. 

,. a telected mr»» of art EPftePl *1th datt In the bofftr. 

>. a n«« EP»0« trPt (rtturn to typtt atnuJ . 

,, tht eyatea Monitor. 

. . to tht ©parallr>9 syitae. 

,. mm gO$ utility (only In fLEl and OS9 vt<-»1wit). 



FIEI AM OS? VEJSIDNS AVAILABLE PROM GIMJ t 



ssavwca cojfuct us qi»ect. 



PL/9 



• friendly Intrr-ectlve ertvlronaenl uftere you Mm* IMSfAAfT access to the 
Editor, tht COMB He', and tnt Trace**ePu«oer, Ml. 1th, mww**q*\. other 
taingt, can tingle itap tut Prog,** » SOURCE lint at a lia*. roy elto 
he«« direct K(»ii to any fUx utility and your uate« oonicor. 

■ m« paty* Manual cgtfilltd at ■ tutor i«| »itft plant? of liHtlH* 

• fast SlNfclE PASS <(Mp1ltr oroducti «« of COMPftCf and FASl 6S09 MJChtnt 
coda outPLit par alriuit with no run-tla* owarftidt o/TTctn»t fttt. 

- fwtly coflpatlblt n*lh fSC t»xt tdltor lorm dUk flits. 

• SlDntd and vnt1ona« SITES mt*6 INfEUtl, 12-bU flott 1«« 00»nt «E*Lt. 

• Vac tor» UtngLt dIMtntlon trrmr** **<* po'ntan §*• tupf»rt«4. 

• Ptattvaaatlcat t>prttf1ontr (•), CO, tti, lt>, •oduLvrs CO, rw gallon <-) 

• Ciprtnlon tvaluator*: t«). <<>)„ t<3, i>), (>•), <<*> 

■ Bit optratoM: (AJfft), <0«>, (EO*/IO«), CltOT>, (SMSfT^ (SltAPJ 

■ Logical oparalorar <.»(»), (.Otl, (.C0«/A0t> 

• Control »lt1*wr.tt: ir..lNfH..lLSE # ir..CASE1..CASC2..e\.S<j BE«lN..t«C, 
MNtLI..« rJE^i»T.AM|T|L, 1CP€AT..«0*IV<M J , CALL. HUP* «CTL«IM« BttJUC^ WTO. 

■ 01 rati aCCtSt to CACCA), <ACCS)« UCCt) # (XtE6>, <€CM? and <STA(K). 

• ftILL? USVCrlx tht mUP9 RESET, m\. 11*0, IKS, Sul, SWI2, and SlrlS 
vtctot*. Writing a iilf-itart 1ng (fro* &o**r^g)> pro^r** thai um Aht, 
or ALL, of t&# NC6609 Intarrwptt \* an ablotwta »nap* 

• **t*ir*9 tod« a«y e* •abtddad in tht progra* via tht *&»' itattadnl. TMt 
anabln yon to coda critical remttntt In aittobly langu«gt and tabtd thta 
In tha PL/9 pragrta <*•• ♦rtACt* for dttaili). 

■ prof&ft m*y bt patttd *rd May raturp var itbltf. Ihla nabti t^t■ 
Tunctinia *hith bahawa «t lltotigh thay ymrt an InlagfAl pari of PL/9. 

• Savtral fully dacuatntad Hbr»ry protadwra •odvilt* »rm Vd»Dt1«d: I0SUBS, 
BlttO, HAH010, HE»I0, P LEI 10, SClPACK, STNSUkS, BASTtlNC, and RfAtCON. 

'... TMtS IS fXt WQSf E>MCHWT C0HP1LEA I rU¥* fCAWW TQ PATE.' 

Quottd fro* ton Andartoiit fLEX itoar Nott» toluor in *6l. «a«4 *a **r "oraf 



WORSTEAD LABORATORIES, NORTH WALSHAII, 
NORFOLK, ENGLAND. NR28 9SA. 

TEL : 44 (692) 404066 
TLX: 975546 WMrCRO G 



MACE/XMACE/ASM05 

All of tttata products ftatura a highly productlva anvlrenatni whara iha 
adltor tnd tht atstabltr raaidt In atoory togathtr. fionr »r» tht dayt of 
ttdlua disk load and Hvt ootrattont whllt you art daCugnIng your coda. 

• frltndty intar-aet *»a tnn^rpnaant atiitrt yow ftftva inatant acc*s« to 1n« 
Editor and tht Atiaafiltr, fLEx utlltltt* and your ty^tc* *onlto«-. 

• MCI can tlw product ASr«>tOCi («En »Cltta«nti) for Pl/9 alt* tht 
anaatoly languaoa sowrca pasatd to tM output m* coaaantt. 



■ SMACE la » croii atttafrla* for t*t 6BOO/1/2/1/0 and aupporis tht ttttndad 
HcwMitci ol Ilia 6»3- 

* *l*€)\ H a [r«l HIH&lir far 111 b%Ql , 



D-BUG 



LOOKIMC lor a tlngl* attp tractr and »1M in-llnt dUatft^la/- Ihtl la ta*y 
to utt7t Look no furlhtr, you hava found It. TM» package it idaat lor 
th«»« »aall as»t««>ly langvigc prograo dabuftfling atationa. o^eut! occ«d>itt 
Ian than 6,: (including It* iifck and varlabltt) and aay bt loaded •nyuhtrt 
in Hl ofT. All fOu do it LOAD lf« AIM IT and SO] C*0 COl V»V« only). 



McCOSH C 



Thli 1« •* cOapleta a *C (ovlifr a* you *1ll find on any ooaratl>*g ayttt* 
for the 6«4N. Jt is co^lttaly conpatible uiiri umu VII and only tacit 
•oK-lietdV (wbic* »t9 of Utile Practical »*»• iri an a~bit world*). 

■ Producea wary efftcant a»»«*bly leno n agt taurc* output with the 'C* 
•ource opt I on* Ur Initrltairad a* coa*mt». 

■ fciilt-in optiMiftr gHi ihorlan object code Or about 111, 

• SuM»rtt IntaMaavvd eitavbly Imgutiit pro^raoi. 

• INCLUDES Itt Own a»«c«bler. The TSC relocating tlteobler 1« only required 
If rou went to generate your enm Morarlat. 

• the pri-procea»or. compiler optia1#ar, etaeabler and leader all run 
Independently or under the "C<* eeacutiwe. *CC aatea COMpUlng a progrea 
Co edacutable objact at ti«ole am tyol^g In 'CC,hCLL0.C <tETU*jp'- 



IEEE -488 



< IlinMfffi ALL MlHtlPAi HOtd Of TMf EFCf^4M MOTS/II fHft SPf C ttKATfOb; 



- TtVker 

- Li timer 

- lyitt* Control ler 



- Sarlel fNill 

- Parallel Poll 

- Croup trigger 



- tingle or Oual rri—rr Addreta 
• Secondary Addreta 

- Talk only ... LlHen only 



i ruLly do<LaiMited wttfe a complete raprUt of tha ^lL(b>Aub art tela on the 
IEEE but and the totorole publication 'eatting aooerd 1h« IEEE 9u»». 

- to* level atteecilr la^uege drlwert aulieble for 6W0. 6801, 6802, 660), 
0606 end 6609 ere tuPQliad in the for* of ltA11ng». A collect bit* to 
back fell progre* 1« 4 L»o topplied in Che lore of a Hating. Thfte 
(Kiver* have bean t«ttnsivtly tatted and are GUARANTEED to uork. 

' Single S-30 board (A, H or 16 eddreaaet oar sort), fully eockeled, gold 
plated but connaclor* and IEEE Interface table ataeably. 



PRICES 



o-euG 

*tA» 
XKACE 

Airtn 

•L/fl 



(6M9 FLEA only) ♦, f 7S.Q0 

(660° f LEl only) S rS.OO 

(6609 FLEA only) 1 96.00 

(6609 FLU only> I 96.00 

(6609 FLEX only) 1196.00 

(6609 FLEl only) $294.00 



IEEE-466 utt* IE£E~*oe cable etfteably S296.00 

UPI»0*-I1/U alth one verilon of aoftaart <ne cable or interface) .. 139S.0O 

UPHQM-M/c et above but coapieta ulth Cable *n« J-50 Interface ....1W.00 

CACLf S* 1u1tt-n-ritt SO «ty leblt alth IOC connectors % 35.00 

S-30 INI SS-30 interface lor liPAOH-ll *.,.. SlM.OO 

EaO« l*Jt Motorote CxOflbue CElOtclaer) Interface tor UPKOn>][ ... 1195,00 

JPIOH S*T Softaart dri vera For i nd operetlng tytiee. 

Specify FLU or 059 ANS dlak tliel .- ...,...., S 35.00 

IMHOft SRC Attcobty language vource (contact ut direct) 

All Mlltt I I U U I t A | I MU » 6 5 T 1 6 E 

far*,: Ct». P*ra*nt by I«t*l Ptenay Order, vJSA or fUSTEa-C»« tlto KCtbted, 



WC STOCK THE FOLLOW*** 

OttflL S«. FHL. MaCROWARC T9C. LUCOATA, LLOVD I/O. 
A Alrkrfl) * ASSOCIATES. 



tLtt tt»> It ■ tridtaart «* Technical lyttest (ontultenta^ 01-9 lit) It f 
trademark at Microwar« lyllean Corporation, MM* lit) in} ElWtllir (1m) 
art trade*arht of hQtproLa Incorporiiao, 



65 1 Micro Journal 



65 



DYNACALC 



ELECTRONIC SPREAD-SHEET 



® 



NOW FOR 



68000 



68000 DYNACALC does everything 
6809 DYNACALC does, and more: 

worksheets up to 18278 columns or 9999 rows. 

Built-in financial formulas. 

Smart terminal support for faster scrolling. 

Copy, Blank, Hide, and Format columns or blocks. 

Many new display formats — up to four windows. 

More efficient data storage and even greater speed. 

Uses existing DYNACALC worksheets. 

System requirements: 

68000-family CPU, OS-9 68k version 1.1 or later. 
128k RAM minimum, more preferred. 
One or more CRT terminals with cursor addressing. 
Printer optional. 



Price S595.00 per single copy; 
dealer and OEM inquiries invited. 

COMPUTER SYSTEMS CENTER 

42 Four seasons Center #122 

Chesterfield, MO 63017 USA 

(314) 576-5020 



% 



56 68* Micro Journal 



'68' MICRO JOURNAL 

<£ The only ALL 6800 Computer Magazine. 
<£ More 6800 material than all the others com- 
bined: MAGAZINE COMPARISON 
(2 years) 
Monthly Averages 

6800 Articles TOTAL 

KB BYTE CC DOBB'S PAGES 

7.8 6.4 2.7 2.2 19.1 ea. mo. 

Average cost for all four each month: $6.53 

(Based on advertised Vyear subscription price) 

68 cost per month $2.04 

That's Right' Much, Much More 

tor About 

1/3 the Costf 

OK. PLEASE ENTER MY SUBSCRIPTION 

Bill My: Master Charge □ — VISA q 

Card # Exp. Date 

For □ 1-Year □ 2 Years □ 3 Years 

Enclosed: $ _ . — 



Name 



Street 
City 



State 



.Zip. 



My Computer Is: 



68 Micro Journal 

5900 Cassandra Smith Rd. 

Hlxaon, TN 37343 



Subscription Rotes 
(Effective March 3, 1985> 



U.S.A.: 1 Year $24.50, 2 Tears $42.50, 3 Tears $64.50 

# Foreign Surface: Add $12.00 per Year to USA Price. 

* Foreign Airmail: Add $48.00 per Year to USA Price. 

* Canada * ttaxleo: Add $ 9-50 par Year to USA Price. 

* U.S. Currency Cash or Check Drawn on a USA Bank fit 




l^sll** 2 ^ 




y 



STAR-DOS LEVEL I 

Whenever a new DOS is inlroduced, there's 
always the problem of developing software to 
work with it. So we did it the opposite way — we 
analyzed the requirements of software that 
already exists and developed a DOS lhat met 
ihem... and exceeded them! The result is STAR 
DOS Level I, a new DOS for 6809 systems, ideal 
for single user industrial, control, and advanced 
hobbyist applications. This includes SS 50 
systems and single-board computers from a 
variety of vendors. 

Level I is compatible wi!h most current 6809 
hardware and software On ihe hardware sidi*, \t 
allows up to ten floppy or Winchester drives with 
appropriate controllers. On the software side, it 
runs existing 6809 software from all the major 
6809 software suppliers, including TSC, Star- 
Kits, Intvol, and others. 

Write or call for more information. STAR 
KITS Software Systems Corporation, P.O. Box 
209 T Mt. Kisco N.Y. 10549 (914) 2410287. 




TAR-KJ73" 



AMKRSON COCl/TER CONSULTANTS 
& 

Associates 



Ron Anderson, respected author and columnist 
for 68 MICRO JOURNAL announces the Anderson 
Coeputer Consultants & Associates, a con- 
sultlng firm dealing primarily fn 68XX(X) 
software design. Our wide experience In 
designing 6809 based control systems for 
machine tools Is now available on a 
consultation basis. 

Our experience Includes programming 
machine control functions, slgnaf analysis, 
multi-axis servo control (CNC) and general 
software design and development. We have 
extensive experience In Instrumentation and 
analysis of specialized software. We support 
all popular languages pertaining to the 6809 
and other 68XX<X> processors* 

If you are a manufacturer of a control or 
measuring package that you believe could 
benefit from efficient software, write or catl 
Ron Anderson. The fact that any calculation 
you can do with pencil and paper, can be done 
much better with a microcomputer. We will be 
happy to review your problem and offer a 
modern, state-of-the-art microcomputer 
solution. We can do the entire job or work 
with your software or hardware engineers. 

Anderson Oo^>uter Consultants & Associates 

3540 Sturbridge Court 

Ann Arbor. Ml 48105 



'68' Micro Journal 



67 



our EPROM PROGRAMMER with the field. 

AH d*to tafrw direct. ly fr«» ranufociurw 1 b currer* <K*wtl»lnq. soft^iro, 
inlotfacv*. or parKnality anfelm »wy a)«o h» r«|airw1 At ariditi<7ial coat. 



► Triple **4v«9e P1TN 

> Supplied in Xit fOffl* 



tNTELLIGENT 



J7Q4- 

2506 

270B* 

2756 

2516 

2716 

2716- 

2532 

2732 

2732A 

2564 

2764 

2526 

27126 

2616 

66764 

6746 

6749 



TOTAL 



A 


B 


c 


D 


E 


M 






PAR 


PAH 


SEP. 


S30 


SEP 


SER 


HO 


NO 


YES 


NO 


YES 


YES 


• 
• 
• 


• 

• 
• 
• 
• 
• 
• 
• 
• 
• 
• 

• 


• 

• 
• 
• 

• 
• 




• 
• 


• 
• 


3 


13 


6 


11 


11 


11 


S45* 


1160 


S20B 


1971 


|4M 


S575 



«Wi VTVm pjr>^r<mwmit t $125. P»r*.TV»l)ty rea^jla for 2506. 2T56. 2SH>. *«J 
2716 lT»clv»i9d. Specify CPU. 1i*k al*). anl <*>«r»tir>g eyvt« (TBL*'b /TJ3t or 
S8'i U06) rim entering. Manual ot\Iy. 510: refundflbl* Mrttk WIW< j*tr<4MM>- 

UNJTEK • P.O. Box 671 - Emporia, VA 23847 



K-BASJC 

for OS9 A FLEX 

$199 

K-BASC Is a complefte BASIC compter package Including Ihe com- 
piler Jlself; Ihe assembler, auaxrontation, and sample programs H fea- 
fives six atomic data types Including real numbers, strings, 8 bW. 16 bit 
32 bit. and 64 bit signed Integers, All types may be dimensioned with 
one Of two su&SOipts. K-ftASC convert* programs to MACHINE tarv 
guage code which may be put into EPROMS Of ROMS 

K BASIC syntcw is very ciose to TSC's BASIC and XBASrC Interpreters. Line 
numbers ore not required (may be up to 16 characters] Variable 
nomas may be up to ^characters long. The AT statement dimensions 
vojiaNes to absolute memory odctass^rs. 

The future of K-BASIC will see additional versions tor ihe assorted Inter- 
preters currently available This means you can compile your SASJC Po- 
groms you now hove. 

Coll (503) 666-1097 for our CATALOG, we hove many other 
programs including: 00... $69 OSM,.^ ED/ASM. .$69 

CHASMS 

for OS9 * FLEX 

$399 

CRASWB is Ihe Nghly acdoimed cross assembler pock oge tor OS9 ond 
FLEX systems, and is ihe only one of its type available tt rums your com- 
puter Wo a development station for Ihese CPUs: 

6600 6801 6604 6805 6909 6611 6502 

7000 1802 8048 8051 8080 8085 280 

(68000 1602 bft cross aaemtter . S249) 

CRASMB features Include Moods, Conditional assembly, library fife 
calte (12 deep). Symbol length to 30 characters. Symbol cross reference 
tables, Object code In A formats (099, FLEX, S1-S9, INTEL HEX), plus 
many other ext^ided directives and options not found on other 
osse. rulers. 

LLOYD \tO 19535 NE GLISAM, PORTEND. Of? 97230 USA 

Phone: (503) 666-1097 (Software ConsurroMon Available) 

VISA. MC. COQ CHECK APPBOVW PC* ACCtPTH) 

England: Vlvaway (0582 423425). Windrush (0692 405189) 

Germany: Zacher Computer (65 25 2991 

Australia: Paris Radio Electronics (61 2 344 91111 

OW*a*ofMiouwcm.fl£Xi*a»cir$c 



1 



68' MICRO JOURNAL 

Disk- 1 Fllesort, M1n1cat, M1n1copy, 

Minlfms, **L1fet1me, **Poetry, 

**Foodl1st, **D1et. 
Disk- 2 D1sked1t w/ 1nst,« fixes. 

Prime, *Prmod, **Snoopy, 

**Football, **Hexpawn,**L1fet1me 
Disk- 3 Cbug09, Seel, Sec2, Find, 

Table2, Intext, D1sk-exp, 

*D1sksave. 
Disk- 4 Mailing Program, *F1nddat, 

♦Change, *Testd1sk. 
DISK- 5 *DISKFIX l f *DISKFIX 2, 

**LETTER, **L0VES1GN, **BLACKJAK, 

**B0WLING, 
Disk- 6 **Purchase Order, Index (Disk 

file 1ndx) 
Disk- 7 Linking Loader, Rload, Harkness 
Disk- 8 Crtest, Lanpher (May 82) 
Disk- 9 Datecopy, Diskf1x9 (Aug 82) 
Dfsk-10 Home Accounting (July 82) 
0fsk-ll Dissembler (June 84 J 
D1sk-12 Modem68 (May 84) 
D1sk-13 *In1tmf68, Testmf68, ^Cleanup, 

*Dskal1gn, Help 
D1sk-14 Mnit, *Test, *Term1nal, *F1nd, 

*D1skedit, In1t.L1b 
Disk- 15 Modem9 + Updates (Dec. 84 

Gilchrist) to Modem9 (April 84 

CONIRO) 

D1sk-16 Copy.Txt, Copy. Doc, Cat.Txt, 
Cat, Doc , Date.Txt 
HATE: 
This 1s a reader service QKLY! No 
Warranty 1s offered or Implied, they are 
as received by '68* Hlcro Journal . and 
are for reader convenience ONLY (some 
MAY Include fixes or patches). Also 6800 
and 6809 programs are mixed, as each 1s 
fairly simple (mostly) to convert to the 
other. 

PRICE: 8" Disk $29.95 - 5 M Disk $24.95 

S8 MICRO JOURNAL 

POB 794 
Hlxson, TN 37343 
615-842-4600 In Tenn. 
1-800-338 6800 III U.S. 

* Indicates 6800 

** Indicates BASIC SWfPC or TSC 

6809 no Indicator. 

MASTER CARD - VISA Accepted 
Foreign ~ add 101 for Surface 
or 20S for A1rJ I 



68' Micro Journal 



TRS-80+ MOO I. III. COCO. TI99/4a 
TIMEX 1000. OSBORNE, otfws 

GOLD PLUG - 80 

Eliminate disk reboots and data loss due to oxi- 
dized contacts at the card edge connectors. 
GOLD PLUG SO solders to the board edge con- 
nector. Use your existing cables (rt gokJ plated) 



GOLD PLUG 80 Mod I (6) 
Keyboard/El (mod I) 
Individual connectors 
COCO Disk Module <2) * 
Ground tab extensions 
Disk Dnves (all R.S ) 
Gold Disk Cable 2 Dnve 
Four Drive Cable 
GOLD PLUG SO Mod ill (6) 
Internal 2 Dnve Cable 
Mod IN Expansion port 
USA shipping $1 45 
Foreign $7 






$44,95 
15.95 

7.95 

i6.95 

tNCL 

7.9$ 






rtf> OJ 






2995 
39 95 
54 95 
29.95 
1095 
Can/Mex $4 
TEXAS 5% TAX 



<^ 



$&> 



Ask your favorite dealer or order direct 

E.A.P. CO. 

PO.BOX14 

KELLER. TEXAS 76248 

(817)496-4242 MC/ViSA 

♦ trademark Tandy Corp 




F»OWEHFUL COL OH GRAPHICS 
UlH 1h* n*w TMS99T8A V.d*o D'l 
ptlv P*OCe»Or Mrtflh r»Oiufton ?SG ■ 

19? p***i <k»pJ*y w-th 15 co4ot* 16K 
B yi#i 0* onrjo* ' d RAM does nor reduce 
uwi mem or* 3? graphic image* can 
t» individujiiv moved *>ih umpli XV 
commandi Iof nmooin animation 
E*t*mal Video inp u i allowi Aiitmihng 
NTSC componle tideo ouipul 
SOUND EFFECTS AND MUSIC 

• Three AV3 a9iO Programmable 
Sound Generator* 

• Nine simultaneous voieei 

• Three mdeper>deni nooe sources 

• Onboard slereoampMier duvet (wo 
£orun spaa Kara 

A0DIT1QMALV0 CAPABILITIES 
a EkQhl analog inputa «rrh 6 0*1 reso- 
lution 
a Supporta four tovsfccte win ouanbui 
ion switches 

• Eight (mi paraNar 4/0 port 

a Enhie wmr map* into 256 Dylea ol 
memory 



PB 



TERMINUS DESI N INC m conjunc- 
lion *rfh Mtcroware Syilem* Corpora- 
lion, it proud 10 announce FBASlC an 
•nhancemeni ol McrOwa'e'a 6800/ 
BASIC tneir rasr compiled BASIC he» 
tw«n Adapted lor 6609 user* wlhe/ftfa) 
wkWo and »ovnd real urea lor ARCADE 
SO user* FBASIC is a Uue com©.** 
rhar produce* optimised mectwne lam 
gunge modules whichare ROMabto and 
req^re no Run Time peoaO* FBASiC 
requnei leaa memoiy overhead and 
runt nundreda 01 timet laslet lh»n 
BASiC mierpreiert it auppona atan- 
daid BASIC instruction mciudmg 
String hwicliora. Do* I/O and leal **eger 
arithmetic w«ln muitip<e-p*ecvon cap*- 
OHM y Graph »ci ven^t engluncl iont lufly 
tuppoti the Arcade 50 



ARCADE SOattemb/ed and tested 

Video and Audio connector set 

A Joystick connector fret 

2 Ratio Snee* Joystick* 

Gold M0*e* con/>ectOfS 

A/ BASIC for 6BO0 

FBASIC IO* CftOfl. 

FBASIC Iwilh ARCADE 50|i 

ARCADE 50 RGB 

L A BV| DEO (Motorola EXORbutl 

NEW MV09 6609 Processor Board 

256K Dynamc Memory Board 

256K Dynamic Memory Board I* 64KI 

64 k Dynamic Memofy Board 



tV5 00 
1600 
1500 
24 00 
1200 
11000 
T1000 

;5oo 

1^5 00 
37500 
22500 
79500 
39500 

moo 



TERMINUS DESIGN INC 
16 SCARBROUGH ROAD 
ELLENWOOD, CA 30049 

.,„, 1404. 474-4S66 



itktbll 



Ttt 





An EBfiTSlLIligent ©TOmunications Program 



Easy Installation 

Menu Driven 

Intelligent computer to computer communications 

Supports most file transfer protocols 





OStf * a tf nil* si* ol MrroMaw 



P. 0. BOX 916 

Idaho Falls, Idaho 83403 

(206) 529-3210 



FV»r*«fredtfmefto<7SC fr* 



68* Micro Journal 



MODULia - BARE CARDS - CITS ■ ASSEMBLED fc TESTED 
Stmckftbl* Moduli! IIT AfcT 

20 *mp POVBR 3UPPLT i/(i« 

w/Dlik protect nliy 330.00 400.00 
DI0X CABlirrr v/rtti. * eibln 

lm DltVES 200.00 2 SO. 00 
HOTBM BOASD. 8 33-S0e. 8 33.30c 

WMI bat ton 223.00 325.00 

It«» Bar* KIT ALT 

IT3 - INTERRUPT TIMER 

1. 10, 100 pir lie. 10. OS 29.93 39 -03 
PB4 - IJITEI.LIGCNT PORT BPPFIR 

SlDfl* boird Coaput. 30.93 114.03 130.93 
OPIA - Duil PI* pirillil port, 

4 buffind I/O* 34.93 69.93 89.95 

XADE - Bxtudid Addriulof 

BAUD fin. PI A port 39.93 60.93 89.93 
MB6 - MOTBER BOARD S3-30C 

w/BAOD ffio. 64.03 140.93 199.95 

P16B - 16BE PROM DISE 

21. 2764 EPROM* 30.03 79.93 109.95 

FD69 - Flraviri durilopaiit 

3. *K blocks 39.03 84.93 114.95 

XMPR - 2764 PROM buroir idipt. 

for 2716 BURNER 19.93 

CHfRRT Eiyboird w/Ciblmt 

96 fcir cipieltlve 349.93 

TAZAR 13", 18 Mb* MONITOR OREEM 140.95 

AMBER 159.95 

4 MOOOLE CA6IRET - uiflilibid 150.00 

POOR flOPPLT w/dlik protict 330.00 

Color Computer 

MOWOtlFE - 20 Mbi MoDocbron* 

vldio driver 13.00 20.00 

CC30 PORT BOS »/powir lupplj 

3 88-30. 2 Cirt 169.93 199.93 

POVB1 BOX 6 iwltcbid out lit* 

triAilint luppronloi 29.03 39.03 
RS'333 3-ivltcbid porti 

for ibove ADD +30. 00 +33.00 



Write tor FREE Catalog 

ADO 53.00 SCH PER ORDER 
WIS. A00 S SAL^S TAX 



11931 W. Bluemound Road 
MILWAUKEE. WIS. 53226 
(414)2570300 



68' MICRO JOURNAL 


ADVERTISERS INDEX 


'68' MICRO JOURNAL 


.67,68 
....70 


ACORN COWITTER SYSTEMS 


ANDERSON COMPUTER CONSULTANTS .... 


....67 


CCM>ILER EVALUATION SKVICES 


....59 


0M>U7ER EXCELLENCE INC 


....60 


C04VTER PUBLISHING INC 


.... 5 


CCHVTER SYSTEMS CENTER 


....66 


Om/TER SYSTEMS CONSULTANTS, INC. 


...64 


DATA-COW 


...IBC 


DIGITAL RESEARCH COMPUTERS 


.62,63 


D.P. JOHNSON 


....59 


EAPCO 


....69 


GMIX, INC 


..3,72 


GREAT PLAINS C0MPUT» CO 


....69 


NAZELWOE CTJf>UTER SYSTEMS 


...08C 


INTROL CORP 


....61 


UOYD I/O 


....68 


MICPOMARE SYSTEMS CORP 


...1,4 


PERIPfCRAL TECHNOLOGY 


....71 


SARDIS TECHNOLOGIES 


....60 


SOKE SIGNAL BROADCASTING 


6 


SOUTH EAST MEDIA 35.36.37.38 


SOUTHWEST TECHNICAL PRODUCTS INC. 


...IFC 


STAR-KITS 


....67 


TALBOT MICROSYSTEMS 


....64 


TDWINUS DESIGN INC 


....69 


TMP SOFTWARE 


60 


UNITEK 


68 


tCSTCHESTER APPLIED BUSINESS SYSTEMS .71 


WINDRU* MICRO SYSTEMS LIMITED ... 


....65 


This Index Is provided as a reader service. The 


publisher does not assume any liability for 


omissions or errors. 





70 



6a* Micro Journal 





PT-69 SINGLE BOARD COMPUTER SYSTEM 
OS-9 OR STAR-DOS NOW INCLUDED 

• 1 MHZ 6809E Processor 

• 2 RS232 Ports (6850) 

• 2 8-tMl Ports (6821) 

• 56K RAM 2K/4K EPROM 

• Tlmoof-Day Clock 

• 279? Floppy Disk Controller 








-PT69S2-40 $999 95 
Complete System wfth PT-69 
Board, 2 DS/DD 5V4 M 40 TR 
Drives, Cabinet Power Supply. 
Your choice of OS-9 or STAR- DOS. 

— PT-6BS Assembled & Tested Board with $399 96 
Power Supply and Cabinet. 

— PT-69A Assembled and Tested Board. $295 95 

^Parallel Printer interface with Cables $ 49.95 

— OS-9 Level 1 $200.00 

— STAA-DOS Level 1 550,00 
















Jl I 


\ 


ffliipnj | • | 




PERIPHERAL TECHNOLOGY 

"Supplying Your Computer Needs Since 1978" 

3760 Lower Roswell Road 

Marietta, Georgia 30067 

VISA/MASTERCARD/CHECK/COD 404/973-0042 



XDMS 

Data Management System 






OlSPtAY J / INPUT 







( pacmmg f^^Jvmn 

\ put r^* 7*Mo*a 





si 



JL<JL> 

(~) {jgSj^ lz£Z$ 

System Architecture 




Turn XDMS Data M*n*a*n*rv1 * v *imm it Avttloblt id thro* l*v*1t. Etc* 
lOvol inclkKf* tht XDMS hucloul. VNOEM utility and Sytt**) Docum*M ttion 
for |*v*| 111. XtMl It on* of tno noil powerful ay*t*mi ..i t [<»)| for 
6g0* comp u i*r* «nd mtr bo ut*d for a wid* «AM*ty of Application*. XDMS 
u**r* at* r«9i«1tr*d Hi our «AtAPAt* lo »fi«M (lltf riBul Ion of protlucf 
Announcement ■ *nd validation of u*A' upgrade* **d mamtanAnct requtttt. 

XflMB LtYll I 

XDH1 Level 1 intuit ol LtriUtt UPDATE tnd REPORT ftrimiet. 
Thli livil |« tmindtd ji «n 'entry level* tyttem» end permit* entry and 
reporting Of date on • 'tADulAr" ba«it. Tn* REPORT facility ftupport* 
ncord aftd Field* **l*cHoftt fl*ld marge, sorting, lino c alcul a1)on« ( 
column tot Alt An« report titling. Control It via a £ne/l l*n - } i * * languAg* 
wtiicn lit u?wArd coetpatiDJ* with level XI. XDMS Lovol !♦.... t1.7O.03 

XDMS Lewi 11 

Lo«ol I! Add* lo Lavol I tno p£>M*r'ul OENtRATE facility. Thti facility 
can be t out*! oi a» a donor aI file procevtor which can produce npont. 
form* And form latter* A* wall 4* 'll* Output «*nicfi «**y bo ro-mottt to 
the facility. GEKERAfE rtey 90 u«*d in comPJei proc*l«i'i4 application* 
And i» controlled bv A EnoUnh-li*»e commend language whic* encompettet 
that LH«d *y Level t. XDMS Level II ♦.,,»..♦. ,tl*«.*3 

Level III include* All of 1***1 SI »|ut a tot of utoful DMS Vtilitiot. 
Tnete utilities arc O**i0n*d lo Aid in tno development And maintenance 
of user application* anil por*iit modlficef ion of XDMS ey«1*m p*ra««t*r«. 
input and outeut of 1IDMS fllot* dinolay and e>odif ttAtioo of ftl* formal. 
graphic display of numerical oaia And otrier functions. Level ill 1* 
intended for edvAnced XDMS u»tr». XDMX Level III ....... , «2t*.9S 

XDMS System Documenration only itlO. cndM to»erd put-cnatoi. . .t 24. eS 

AAGC ALtountmu. gvmtoern 

7*e XoCC Qonarol Accoutlirig Syttam it doai9n*d for tmall butinott 
• nwironmont* of up to lb»Oflfl account! Anai inventory Hoi*. Trio tyttom 
inlogrofta account trif functlOnt And in«»*»tory plut tho go«i*rAl l*(Jlg*r. 
account* rOCOIvttl* A4>d payahl* functLOn* normally told tOOArAtoly U 
otnvr tyttomt. fo*turot ut*r dofmod Account*, products ior torvicotl, 
1r AiitACtiorii. tn<roiciA|. Otc. Eavily configured to mott onvirofttttnt t. 
XACC 0«A*rAl AccOvr>ting tytlom lD*quir*t XDMS. Dr*f. L». !ll>. . !2oo.tS 
XACC Sytiom Document Alio ooly lilO. c«odit to«*rd Purclvatoi. > •* it.fa 



WB8TCHBBTER Applied Butlno** Byitom* 
Pott Offico 9o> lS7» Bri4,rcllff Manor. M.T. 10510 

AM 9oltwrm )% vrlttsn in wcro/ot)M6l»r <>rnj runs uotfor 6809 FL€X 0/S. 
Ter*»: Ovdi, f4onw Orclor i Visa or Kamtorehare©. Shlpoj»nf fir*t eloss. 
Add PtH 17*50 (17*90 Foreign). NT *Res ddtf to*Ot taw. Spech 



WBBTCHE6TER Appliod Bu*lh«i 
Pott Offico Bet itr 
Bri*rcliff WAftor, K.T. 10910 



Sole*: S. E. «DIA, t 
TLEX I* o tr 



Ify Vor 8». 
S3eWeO0. Consul tot Ion: 914-941-3552 (•*■«*>- 
or TtKhnicdi Sy^roon COfVtultOnt*, trr 



66' Micro Journal 



71 






GINIX STATE OF THE ART 6809 SYSTEMS FOR THE SERIOUS USER. 




GIMIX has 19MB or high performance 
47MB Winchester Drive Systems and/or 
Floppy Disk Drive Systems. 



For the ultimate in performance, the Unique GMX 6809 CPUIH 
using either OS-9-GMX1D or UniFLEX GMXIU (available shortly), 
gives protection to the system and other users from crashes 
caused by defective user programs, e.g. During program 
development, a programmer who crashes goes back to the 
shell or the debugger, while the other users are not even 
aware anything occurred. 



The intelligent serial I/O processor boards signih 
cantly reduce system overhead by handling rou- 
tine I/O func- 
tions, there- 
by freeing up 
the host CPU for 
running user 
programs. This 
speeds up system per- 
formance and allows 
multiple terminals to be 
used at 19.2K baud. 



8ASJC49 art OS-9 vt Pwfentfs of Wcnto/v Systan* Corp and MOTOaOLA. inc 
R£X and UniFLEX art tntenarts of fecftncal Systams Gorcutams. inc 
GIMIX GXOSl GMX. CIA5SY CHASSIS, art tndwurta of GIMIX. IOC 




Gimix 



inc. 




For the user who appreciates the need for a% 
bus structured system using STATIC RAMe 
and powered by a ferro resonant constants 
voltage transformer g 

GIMIX has single user systems that can run* 
both FLEX and OS-9 or Multi user systems for 
use with UniFLEX or OS-9. 

GIMIX versions of OS9 and UniFLEX in- 
clude maintenance and support by Micro- 
ware (90 days) and TSC (I year). Mainte- 
nance and support after this period 
are available at extra 
cost. 

(NOTE: this support and 
maintenance is only 
for use with approved 
GIMIX hardware) 



/ GIMIX 6809 systems 
/ support five predominant 
/ operating systems 

OS 9 GMX III, 

OS-9 GMX II, 

UniFLEX, 

OS-9 GMX I, 

FLEX 

and a wide variety ol languages 
and development soitware 

Whatever your application software 
development, instrumentation, process 
/ control educational scientific or business 

/ whether you need single or multi-user 

/ capabilities GIMIX has hardware and the 

/ operating systems to get the job done 

reliably 

Please phone or write tl you need turther inlormation 



1337 WEST 37th fLACE • CHICAGO. ILLINOIS 60609 • (312) 927-5510 • TWX 910-221 4055 



19*3 aaaz inc. 







For Onfrrlng C*M TOLL FREE 

1-800-338-6800 



CPI 

Color Micro Journal 
'68* Micro Journal 
Data-Comp 
SE Media 




FROM - DATA-COMP, C.P.I. 



A Family of 100% 68XX Support Facilities 
The Folks who£IB5T Put FLEX'* on 

The CoCo 

Now Offering *FLEX' M (2 Versions) 

AND 'STAR-DOS PLUS + ,M 




TSC Editor 

RfSSOOO 
NOW $35.00 



STAR.DOSPLUS + 

• Functions Same as FLEX 

• Reads - writes FLEX Dtsks 

• Run FLEX Programs 

• Just type: Run "STAR-DOS" 

• Over 300 utilities & programs 
to choose from. 



PLUS 
ALL VERSIONS OF FLEX & STAR-DOS- INCLUDE 




+ Read- Write- Dir RS Disk + 

+ Run RS Basic from Both + 

+ More Free Utilities + 

+ Super 800 Support + 

+ Free Color Micro Journal 1 yr sub + 



External Tenninal Program 
Test Disk Program 
Disk Examine & Repair Program 
Memory Examine Program 
Many Many More!!! 



TSC Assembler 

Kra*S000 
NOW $35.00 



J 



CoCo Disk Drive Systems 



lO LOWER PRICES ON PMC #S. AMD PlIITttS 

TWCSC PACKAGES INCLUOE ORIvC, 'CONTROLLER, 
POWER SUPPLY t CAB1MET, CABLE. AMD MANUAL. 

• SPECIFY NMAT CONTROLLER TOO MANT JM t OR UDIO 



PAi #1 - 1 SINGLE SfOEO, DOUBLE DENSITY SYS. $349.9$ 

PAX #! - 2 SINGLE SfOEO, DOUBLE OENSITY SYS. $639.95 

PAX #3 1 DOUBLE SIDED, DOUBLE OCNSITY SYS. S439.9S 

PAX #4 ~ 2 DOUBLE SIDED, DOUBLE DENSITY SYS. $699.95 

PAX #i - 2 DOUBLE SIDED, 00U8LE DENSITY SYS. 

THINL1NE DRIVES, HALF SIZE $499*9$ 



Controllers 



JAM OISK CONTROLLER W/ JOOS OR RADIO SHACK 

DISK BASIC. SPECIFY WHAT OISK BASIC. $134.95 

RADIO SHACK DISK CONTROLLER I.I $i34 95 



MK UPGRADE W/HOO. INSTRUCTIONS. 

c.D.cr, AND toco z 

HJL KEYBOARDS 

MICRO TECH LONER CASE ROM ADAPTER 

RAOIO SMACK BASIC I.? 

RADIO SMACK OISK BASIC 1.1 

OISK ORIYE CABINET I POWER SUPPLY 

SINGLE SIDCD. DOUBLE OENSITY 5" OISK ORIYE 

WHOLE SIOEO, DOUBLE OENSITV S" OISK DRIVE 



EPSON RX-SO 
EPSON RX-BOFT 
EPSON MX- 100 
EPSON F 1-100 
EPSON FI-BO 
EPSON MX- 70 



Disk Drive Cables 



CABLE FOR ONE DRIVE 
CABLE TOR TWO ORIVES 



S 44.95 



$ 74.95 
$ 74.95 
$ 24.95 
$ 24.95 
$ 49.95 
$199.95 
$249.95 



$269.00 

$369.00 
$499.00 
$799.00 
$549.00 
$200.00 



% 19.95 
$ 24.95 



DATA-COMP 

5900 Cassandra Smith Rd 
Hixson. TN 37343 



[o] 



SHIPPING 

USA ADD ?X 

FOREI6N ADD SX 

MIM $2. SO 



*& TOLL FREE 

1-800-338*6800 

For Orctar4r>9 
TELEX SSI 4 14 PVT BTM 



68 Mjcco Journal 

JSSN 0194-5025 

5900 Cassandra Smith Rd 

Hixsor. TN 37343 



??01Z M <*?MVdS NrQl fUvTV 
?/* ?2*000 



Second Ctass Postage Paid 

Ai Hjxsoii. TN 

Aod Addilional Mailfng Offices 



r* 



~ 



^ 



>> 



J Megabyte dual processor HELIX"* system 
} 20 Megabyte Winchester afltf floppy rfto* drfras. 



0AfC£ AGA//V HAZELW00D COMPUTER SYSTEMS 
demonstrates Its leadership in computer technology by 
delivering the only computer system capable of switching 
between either the 6809 or the 68000 processor* 
Switching Is easily accomplished by a simple front panel 
toggle switch. The reason we can offer this exclusive 
feature now, Is that when our proven 6809 processor 
board was designed several years ago, we had the 
foresight to Include the bus controls that allow 
processor switching. 

Haaelwood Computer Systems Is also proud to be the firs* 
SSO/S-64 bus manufacturer to license and deliver the 
0S9/68K Operating System from Mlcroware Systems 
Corporation. 0S9/68K Is the 68000 version of the popular 
and powerful 0S9 Operating System. Utilizing our proven 
MC-20 disk controller, 0S9/68K can conveniently share a 
Winchester disk with 0S9. Changing from 6809 to 68000 
operation Is as simple as switching processors and 
booting the new system from the Winchester disk. 

The ease of switching processors and operating systems 
makes a HELIX* dual processor system the natural 
choice for software development. In addition, the 
advanced design of HELIX m equipment, emphasizing 
performance and reliability, makes HELIX* boards and 
systems the best value In computing offered anywhere. 

System prices vary with configuration. Calf tor exact pricing. 




THE SWITCH IS ON. . . 



standi s J* ° nft rnifc* wmnestsr 

ORDER' CPu® -*- *i 



oVdER: MC-20 



0S9/68K 



J SB** 

- ,— . «ribJaCt to 



$250 



HAZELWOOD COMPUTER SYSTEMS 

907 East Terra, OTalton, MO 63366, 314-281-1055 

059 ftfld OaSMGK at* n&aimwi trad*rr**x» of mtcrowar* Syaieme Co/p HEUX *» a fradeniart of Hmatwood CoKV«l»* Sysloms 



. -k. d«x* ro 30 *oy* 



7 7EZ./X